Ich möchte die Ansicht des Popup-Dialogfelds als Rasterelement festlegen. Ich erhalte dieses Objekt als Ansicht im OnClickListener-Ereignis, das im Adapter festgelegt ist.Verwenden Sie Rasterelement von Adapter im Dialogfeld Popup als Ansicht in Android
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View grid;
final LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
grid = inflater.inflate(R.layout.child_card, null);
final TextView textView = (TextView) grid.findViewById(R.id.childName);
//ImageView imageView = (ImageView)grid.findViewById(R.id.childImage);
textView.setText(children.get(position).getName());
grid.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setBackgroundColor(Color.GREEN);
AlertDialog.Builder builder=new AlertDialog.Builder(context);
builder.setView(v);
final Dialog dialog = builder.create();
dialog.show();
final Handler handler = new Handler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
};
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
handler.removeCallbacks(runnable);
}
});
handler.postDelayed(runnable, 3000);
}
});
} else {
grid = (View) convertView;
}
return grid;
}
bekam ich diese Fehlermeldung: „Der angegebene Kind bereits ein Elternteil Sie müssen RemoveView() aufrufen, auf der Eltern Kind zuerst.“
Niemand hat eine Antwort? –