2012-10-18 94 views
3

首先,我的英語不太好。 我有一個ListViewlike this和另一個TextView。 我的問題是我想在那裏放一個contextMenu,但我不能。我花了很多時間,並找不到解決方案。帶ContextMenu選項的ListView

我已經使用registerForContextMenu(listViewTotes),與onCreateContextMenuonContextItemSelected

謝謝!

+0

您正在使用哪個版本的Android? –

回答

1

我建議你使用OnItemLongClickListener()。看起來像,OnItemClickListener()沒有響應registerForContextMenu(arg0)。

對於使用OnItemLongClickListener()例如,代碼是這樣的:

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.activity_main); 

    listView = (ListView) findViewById(R.id.my_list); 
    adapter = new MyAdapter(this,getModel()); 
    listView.setAdapter(adapter); 
    listView.setOnItemLongClickListener(new PlayListOnItemLongClickListener()); 
} 

private class PlayListOnItemLongClickListener implements AdapterView.OnItemLongClickListener { 
    public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
     registerForContextMenu(arg0); 

     return false; 
    } 
} 

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
    getMenuInflater().inflate(R.menu.context_playlist_operation, menu); 
    menu.setHeaderIcon(R.drawable.ic_launcher); 
    menu.setHeaderTitle("What do you want to do"); 
} 

在/ListViewTest/res/menu/context_playlist_operation.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <group> 
     <item 
      android:id="@+id/context_playlist_remove_playlist" 
      android:title="@string/app_name" 
      /> 
    </group> 
</menu> 
+0

此代碼does not工作。我在我的適配器上有一個onlongclicklistener(),它現在可以工作,但我放入了一個TextView ... – NorbertFD

+0

實際上,我從blogspot.com下載了ListView代碼,您說您擁有它們。然後我添加上面的代碼,它在我的Android手機上工作正常。現在,我在那裏添加更多的代碼,你可以看看它們。如果代碼沒有幫助,我很抱歉。 – David