[英]onContextItemSelected - item id NullPointerException
我有帶自定義適配器的ListView。 直到現在,我一直按住上下文菜單。 並為此重新點擊
getListView().setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
//To register the button with context menu.
registerForContextMenu(getListView());
openContextMenu(getListView());
}
});
僅對此感興趣
registerForContextMenu(getListView());
在進行此更改之前,它可以正常運行,但是現在我在info.id
具有NullPointerException,而且我不知道該如何解決。 感謝您的回復。
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
Intent i;
Log.d("item id", String.valueOf(item.getItemId()));
switch (item.getItemId()) {
case R.id.spotreba:
i = new Intent(this, SpotrebaActivity.class);
i.putExtra("idAuta", info.id);
startActivityForResult(i, REQUEST_ADD_AUTO);
return true;
.
.
.
您應該在活動中使用ListView
而不是在您創建的內部類中注冊上下文菜單(onItemClickListener)。
寫為..
registerForContextMenu(getListView());
getListView().setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
openContextMenu(getListView());
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.