[英]Delete row in listview with imageview
如何在listview上實現刪除行。 當用戶單擊“ x”(圖像視圖)時,我希望能夠刪除該行。 代碼在這里:
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
String str = listView.getItemAtPosition(position).toString();
Toast.makeText(getApplicationContext(), str , Toast.LENGTH_SHORT).show();
ImageView ivDel = (ImageView) findViewById(R.id.ivClose);
ivDel.setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "delete" , Toast.LENGTH_SHORT).show();
}
});
}
});
“ x”按鈕僅適用於第一行,其余按鈕均無效。
嘗試這個
int position = listview1.getPositionForView((View) v.getParent());
yourList.remove(position);
yourAdapter.notifyDataSetChanged();
1個
public interface DeleteListIteamListner {
void itemDeleteListner(int position);
}
2
yourActivity implements DeleteListIteamListner
youAdapter adapter = new youAdapter (yourActivity);
listView.setAdapter(adapter);
youAdapter中的3,
DeleteListIteamListner listner;
public youAdapter (yourActivity listner){
this.listner = listner;
}
然后,當您單擊刪除imageView時:
ImageView ivDel = (ImageView) findViewById(R.id.ivClose);
ivDel.setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
listner.itemDeleteListner(position);
}
});
在你里面
@Override
public void itemDeleteListner(int position){
yourList.remove(position);
yourAdapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(), "delete position is "+ position , Toast.LENGTH_SHORT).show();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.