Ich muss Elemente aus ListView In Android löschen und notify seine Änderungen.Ich habe eine Lösung von StackOverflow, aber konnte es nicht funktionieren.Ich habe eine Abfrage in Bezug auf das Löschen von Elementen aus ListView und Benachrichtigen Änderungen in Android
Dieser Teil des Codes zeigt, wie ich Listenansicht und Call-Funktion von DAO-Klasse initialisiert habe.
listvcard=(ListView) rootView.findViewById(R.id.listofvcard);
DAO dao = new DAO(getActivity());
vcardadapter adapter = new vcardadapter(getActivity(), dao.getUser());
listvcard.setAdapter(adapter);
return rootView;
}
private class vcardadapter extends BaseAdapter {
private Context context;
private List<VcardVO> listvcardVO;
private LayoutInflater inflater;
public vcardadapter(Context c, List<VcardVO> list) {
// TODO Auto-generated constructor stub
this.context = c;
this.listvcardVO = list;
inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
=========================================== =============================
Dieser Teil des Codes zeigt, wie ich Artikel aus listView mit löschen ALertlayout.
h.delete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
deletepopup();
}
private void deletepopup() {
// TODO Auto-generated method stub
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
alert.setTitle("Delete this vCard?");
alert.setCancelable(false);
//alert.setIcon(R.drawable.vcardicon2);
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
alert.setPositiveButton("Delete", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
ArrayAdapter<String> myAdapter = (ArrayAdapter<String>)listvcard.getAdapter();
myAdapter.remove(myAdapter.getItem(position));
myAdapter.notifyDataSetChanged();
}
});
AlertDialog dialog = alert.create();
dialog.show();
}
});
Ich erhalte Fehler in Zeile "ArrayAdapter<String> myAdapter = (ArrayAdapter<String>)listvcard.getAdapter();"
Er sagt: "vcardadapter nicht gegossen werden kann, um arrayadapter"
Bitte antworten !! Ich versuche dieses Problem von 3 Tagen zu lösen.
"Adapter" dass ich oben deklariert habe, ist in onClickListener des Löschenbuttons nicht zugänglich. Ich habe Methode "removeItem" erstellt –
deklarieren global –
Wie kann ich es global.Wenn ich öffentlich erklären werde, wird es "Fehler" angezeigt. –