我有一個ListFragment活動。如何覆蓋ListFragment中的LongPress?
我想爲onItemClickedLongPress創建一個方法,以便當用戶這樣做時。彈出一個菜單。我熟悉創建菜單。
因此,如果有人願意,給我進一步的說明如何設置在ListFragment活動覆蓋longpress?
我有一個ListFragment活動。如何覆蓋ListFragment中的LongPress?
我想爲onItemClickedLongPress創建一個方法,以便當用戶這樣做時。彈出一個菜單。我熟悉創建菜單。
因此,如果有人願意,給我進一步的說明如何設置在ListFragment活動覆蓋longpress?
編輯:此示例顯示如何顯示其他系統菜單fx以外的其他東西。 QuickAction從https://github.com/lorensiuswlt/NewQuickAction
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//.......
registerForContextMenu(getListView());
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
AdapterView.AdapterContextMenuInfo amenuInfo = (AdapterView.AdapterContextMenuInfo) menuInfo;
Object item = getListAdapter().getItem(amenuInfo.position);
//item could be Cursor/String/YourObject it depends on Adapter
//show popup fx. QuickAction from https://github.com/lorensiuswlt/NewQuickAction
QuickAction qa = new QuickAction(getActivity());
qa.setAnimStyle(QuickAction.ANIM_AUTO);
qa.show(amenuInfo.targetView);
}
編輯: 這ansewer不好 ...爲什麼我這樣做這樣奇怪的方法?因爲Eclipse的智能感知沒有爲ListView
propmt「好」 setOnLongClickListener
(因爲ListView
具有至少2種setOnLongClickListener
方法......一個從View
和第二從AdapterView
類)......最簡單的方法就是讓你的ListFragment
實施AdapterView.OnItemLongClickListener
然後在onViewCreated
加代碼getListView().setOnLongClickListener(this);
通過「長按」,我認爲你指的是上下文菜單。對於ListFragment
,你應該做的是爲上下文菜單註冊:
@Override
public void onActivityCreated(Bundle icicle) {
registerForContextMenu(getListView());
}
一旦你這樣做,ListFragment
應該調用onCreateContextMenu()
和onContextItemSelected()
當它檢測到長按。
修改埃裏希·道格拉斯的回答進一步..由於某種原因,我自己的應用程序會崩潰,直到我修改了代碼,並放置在註冊成onViewCreated如下:
@Override
public void onViewCreated (View view, Bundle savedInstanceState) {
registerForContextMenu(getListView());
}
getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
// Show your popout menu here.
}
});
menuInfo爲空?現在做什麼 ? – aProgrammer