カスタムListView
とアダプターがあります。カスタム リストに設定されているリストからアイテムを削除できますが、 から削除できListView
ます。adapter.remove(position)
エディターを呼び出そうとすると、「メソッドを作成する」と言われます"remove(int position)""
。このメソッドをアダプターに作成するときに何をすべきかわかりません。コード:
リストビューを埋める:
lv = (ListView) findViewById(R.id.list);
LayoutInflater mLInflater = getLayoutInflater();
final ListViewAdapter adapter = new ListViewAdapter(
getApplicationContext(), kimdenlist, konulist,
mLInflater);
lv.setAdapter(adapter);
ListViewAdapter:
public class ListViewAdapter extends BaseAdapter {
static HashMap<Integer, Boolean> cartItems = new HashMap<Integer, Boolean>();
Context mContext;
ArrayList<String> kimdenlist; // to load images
ArrayList<String> konulist; // for data
LayoutInflater mLayoutInflater;
public ListViewAdapter(Context context, ArrayList<String> kimdenlist, ArrayList<String> konulist,
LayoutInflater layoutInflater) {
mContext = context;
this.kimdenlist = kimdenlist;
this.konulist = konulist;
mLayoutInflater = layoutInflater;
}
@Override
public int getCount()
{
return kimdenlist.size(); // images array length
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
int count = 0;
// customized Listview
@Override
public View getView(int position, View arg1, ViewGroup arg2) {
View v;
final int pos = position;
v = mLayoutInflater.inflate(R.layout.listust, null);
TextView kimden = (TextView) v.findViewById(R.id.textvKimden);
kimden.setText(kimdenlist.get(position));
TextView konu = (TextView) v.findViewById(R.id.textvKonu);
konu.setText(konulist.get(position));
CheckBox ch = (CheckBox) v.findViewById(R.id.chk);
try {
if (count != 0) {
boolean b = cartItems.get(pos);
if (b == false)
ch.setChecked(false);
else
ch.setChecked(true);
}
} catch (NullPointerException e) {
}
ch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
cartItems.put(pos, arg1);
count++;
}
});
return v;
}
public static HashMap<Integer, Boolean> getcartItems() {
return cartItems;
}
}
「delete_Button」をクリックすると:リストからのみ削除できます:
konulist.remove(konulist.get(position));;
kimdenlist.remove(kimdenlist.get(position));