Ich versuche, eine Ansicht aufzublasen in meinem onCreateView aber ich halte diesen Fehler:Erste Fehler, wenn ein zweites Layout innerhalb Fragment aufzublasen versuchen onCreateView
The specified child already has a parent. You must call removeView() on the child's parent first.
Was ich versuche, eine Ansicht aufzublasen und basierend auf die Anzahl der Elemente in einer Liste zum Hinzufügen der Ansicht, die oft zu einem linearen Layout angegeben wurde. Was mache ich hier falsch?
View v = View.inflate(getActivity(), R.layout.list_item, null);
for(int i = 0; i < totalItems; i++) {
TextView itemNumbers = (TextView) v.findViewById(R.id.itemNumbers);
ImageView itemBubbles = (ImageView) v.findViewById(R.id.itemBubbles);
itemNumbers.setText("0" + String.valueOf(i+1));
itemBubbles.setTag(i);
final int finalI = i;
itemBubbles.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setupValues(finalI);
}
});
theListItems.addView(v, i);
}
Dank Ich wusste nicht, dass Sie auf die Inflation auch Schleife, dachte, dass es sich selbst wiederverwenden kann. – Lion789
Nein. Ein Inflate erstellt eine Instanz der Ansicht. Wenn das keine Ausnahme ausgelöst hätte, hätten Sie jedes Mal ein Objekt gefunden, das überschrieben wurde. –
Können Sie dies vor addView versuchen: ((ViewGroup) v.getParent()). RemoveView (v); – ARP