簡體   English   中英

onContextItemSelected-項目ID NullPointerException

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM