मैं कस्टम सूचीदृश्य पंक्ति बनाने के लिए बेसएडाप्टर का विस्तार कर रहा हूं। मेरे पास संदर्भ मेनू है जो हर बार उपयोगकर्ता द्वारा पंक्ति पर खुलता है और संकेत देता है कि क्या वह इसे हटाना चाहता है। हालांकि मैं पंक्ति को कैसे हटा सकता हूं? हैशपैप केवल टेस्ट डेटा है।मैं अपने कस्टम बेस एडाप्टर से किसी आइटम को कैसे हटा सकता हूं?
private MyListAdapter myListAdapter;
private ArrayList<HashMap<String, String>> items;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
items = new ArrayList<HashMap<String,String>>();
HashMap<String, String> map1 = new HashMap<String, String>();
map1.put("date", "10/09/2011");
map1.put("distance", "309 km");
map1.put("duration", "1t 45min");
items.add(map1);
myListAdapter = new MyListAdapter(this, items);
setListAdapter(myListAdapter);
getListView().setOnCreateContextMenuListener(this);
}
private class MyListAdapter extends BaseAdapter {
private Context context;
private ArrayList<HashMap<String, String>> items;
public MyListAdapter(Context context, ArrayList<HashMap<String, String>> items) {
this.context = context;
this.items = items;
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int position) {
return items.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = layoutInflater.inflate(R.layout.row_log, null);
}
TextView rowLogOverview = (TextView) view.findViewById(R.id.rowLogOverview);
HashMap<String, String> item = items.get(position);
rowLogOverview.setText(item.get("date"));
return view;
}
}
बुला 'adapter.notifyDataSetChanged()' अनुकूलक करने के लिए बाध्य करने के लिए 'items' ListView अद्यतन करेगा। – Aryo