點擊更多圖標內(3個垂直點固定在列表項的右側)開闢了谷歌音樂的上下文菜單:
我試圖重新創建這與我猜是一個上下文菜單。文件說:
如果你的活動使用一個ListView或GridView和你希望每個項目 提供相同的上下文菜單,通過傳遞的ListView或GridView控件registerForContextMenu註冊一個上下文菜單 所有項目()。
但我仍然希望列表項本身可點擊。我只想在用戶點擊Google音樂中的更多圖標時顯示上下文菜單。
所以,我想這一點:
@Override
public void onMoreClicked(ArtistsListItem item, int position, View imageButton) {
registerForContextMenu(imageButton);
}
onMoreClicked僅僅是一個定製的監聽我做了,從列表中的適配器收到的onClick回調的一部分。
registerForContextMenu被調用,但永遠不會調用片段的onCreateContextMenu方法:
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo info) { //this method is never called
super.onCreateContextMenu(menu, view, info);
android.view.MenuInflater inflater = mActivity.getMenuInflater();
inflater.inflate(R.menu.artist_list_menu, menu);
}
我跑到一些斷點檢查它是否正在運行,但它從來沒有。我對activity的onCreateContextMenu也做了同樣的事情(registerForContextMenu的類是片段,但我確信我是這麼做的),也沒有骰子。
我使用ActionBarSherlock,我不知道這是否有所作爲,但我想這是值得注意的。
有沒有人知道這裏發生了什麼?
我認爲Google音樂不會使用上下文菜單,它看起來像它,但它可能是FragmentDialog,因爲它的動畫方式。但我不是100%肯定的,我還沒有看過你的代碼。 –
嗯看起來不錯,但它可能是一個列表(和按鈕)爭取焦點的問題?你有沒有嘗試在按鈕中添加android:focusable =「false」? –
看看這裏:http:// stackoverflow。com/q/3611551/2684 –