listView item新增長按選單,並對選單做出響應
listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(android.view.ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("確定刪除?");
menu.add(0, 0, 0, "OK");
menu.add(0, 1, 0, "Cancel");
menu.add(0,2,0,"update");
}
});
其中,menu.add()的四個引數分別為:
第一個int型別的group ID引數,代表的是組概念,你可以將幾個選單項歸為一組,以便更好的以組的方式管理你的選單按鈕。
第二個int型別的item ID引數,代表的是專案編號。這個引數非常重要,一個item ID對應一個menu中的選項。在後面使用選單的時候,就靠這個item ID來判斷你使用的是哪個選項。
第三個int型別的order ID引數,代表的是選單項的顯示順序。預設是0,表示選單的顯示順序就是按照add的顯示順序來顯示。
第四個String型別的title引數,表示選項中顯示的文字。
2.重寫activity的onContextItemSelected(MenuItem item)方法@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
ContextMenuInfo menuInfo = (ContextMenuInfo) item.getMenuInfo();
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
//info.id獲得listview中點選的哪一項
int id=(int)info.id;
switch(item.getItemId())
{
//刪除
case 0:
ListView templist = listView;
View mView = templist.getChildAt(id);
TextView textView=(TextView)mView.findViewById(R.id.text1);
String string=textView.getText().toString();
String[] s=string.split(" ");
GoodsInfoEntity goodsInfoEntity=new GoodsInfoEntity();
goodsInfoEntity.setUbid("123456");
goodsInfoEntity.setTakegoods_name(s[0]);
goodsInfoEntity.setTakegoods_telephone(s[2]);
goodsInfoEntity.setCountry(s[4]);
goodsInfoEntity.setArea(s[5]);
goodsInfoEntity.setDetailAddress(s[6]);
myAdapter.remove(id);
goodInfoDao.deleteSimpleData(goodsInfoEntity);
break;
//取消
case 1:
break;
}
return super.onContextItemSelected(item);
}