這很糟糕。您必須撥打registerForContextMenu
的onCreate
方法。
因此,嘗試這樣的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts);
registerForContextMenu(<yourListView>);
...
}
爲創建ContextMenu
你必須重寫onCreateContextMenu
方法
@Override
public void onCreateContextMenu(ContextMenu cMenu, View parent, ContextMenu.ContextMenuInfo info) {
this.contextMenu = cMenu;
new MenuInflater(Contacts.this).inflate(R.menu.conmenu, this.contextMenu);
}
和選擇項目覆蓋onContextItemSelected
方法:
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.c_odobrat:
deleteContactDialog(info.id);
return true;
}
return false;
}
它應該有效。
把這裏一些代碼。 – Sajmon
你在哪裏調用registerForContextMenu?我們需要代碼。 – mtmurdock
我在OnItemClick重載函數中調用它。你能給我一個電子郵件地址,我會把你的文件發給你嗎? – AndroidDev