in meinem Code beim Löschen Zeile der Listenansicht Listenansicht nicht ändern.Ich benutze adapter.notifyDataSetChange(), aber es ist nicht word.this ist mein Code: Code machen verschiedene Position der Klasse.notifyDataSetChanged funktioniert nicht in meiner Aktivität
CustomList adapter;
Integer[] imageId;
public String[] _Data2;
public int positionAll;
ArrayList<ArrayList<String>> _Data = new ArrayList<ArrayList<String>>();
DataBase data = new DataBase(Show_Code.this, "MELK_TBL");
try {
data.open();
_Data = data.GetData();
imageId = new Integer[_Data.size()];
_Data2 = new String[_Data.size()];
for (int i = 0; i < _Data.size(); i++) {
imageId[i] = R.drawable.municipal;
_Data2[i] = _Data.get(i).get(1) + "_" + _Data.get(i).get(2) + "_" + _Data.get(i).get(3) + "_" + _Data.get(i).get(4) + "_" + _Data.get(i).get(5) + "_" + _Data.get(i).get(6) + "_0";
}
adapter = new CustomList(Show_Code.this, _Data2, imageId);
data.close();
} catch (Exception e) {
Toast.makeText(getApplication(), e.toString(), Toast.LENGTH_LONG).show();
}
list.setAdapter(adapter);
list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
try {
data.open();
data.Delete(_Data.get(position).get(1), _Data.get(position).get(2), _Data.get(position).get(3), _Data.get(position).get(4), _Data.get(position).get(5), _Data.get(position).get(6), _Data.get(position).get(7));
data.close();
adapter.notifyDataSetChanged();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
}
return true;
}
});
bitte helfen Sie mir, ich habe keine Zeit dafür :(
dieser Code nicht funktionieren. – amardco
@amardco: Sie müssen den gelöschten Wert aus dem String-Array in der Aktivität .i.e. entfernen, in Ihrem Fall ist '_Data2' das String-Array. Sie müssen also die gelöschten Werte aus dem '_Data2' entfernen und den Wert des Adapter-String-Arrays durch das neue Array ersetzen und den Adapter benachrichtigen. Es wird funktionieren, das habe ich hier erklärt. In Ihrem Fall haben Sie den Wert in der Aktivität gelöscht, aber Sie haben diesen Wert nicht an den Adapter übergeben, deshalb funktioniert die Benachrichtigung nicht. – Jeevanandhan
das ist Arbeit finally.thank – amardco