如何制作长按处理程序以打开菜单?我有这个适配器,然后单击监听器:
protected void onListItemClick(ListView l, View v, int position, long id) {
int selectionRowID = position;
String selectedFileString = this.directoryEntries.get(selectionRowID);
File clickedFile = new File(selectedFileString);
if (clickedFile != null)
this.go(clickedFile);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.row, this.directoryName);
this.setListAdapter(adapter);
但是,我不知道如何做长听众。帮助我,伙计们:(
添加xml:
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:longClickable="true"
android:layout_weight="2"
android:drawSelectorOnTop="false"
/>
答案 0 :(得分:1)
listview.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
return false;
}
});
答案 1 :(得分:0)
在您的Activity
中,您必须覆盖onCreateContextMenu
在Activity或中实现onCreateContextMenu()方法 分段。当注册视图收到长按事件时, 系统调用onCreateContextMenu()方法。这就是你的地方 定义菜单项,通常是通过膨胀菜单资源。
答案 2 :(得分:0)
以下是我对listview的问题的建议,
ListView lv;
lv = (ListView)findViewById(R.id.listView);
lv.setOnItemLongClickListener(new OnLongClickListener() {
@Override
public void onClick(AdapterView<?>, View v, int position, long id) {
// Code to execute on long click
}
});
答案 3 :(得分:0)
首先启用对长按事件的反应。
listview.setLongClickable(true);
然后
listview.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
// TODO Auto-generated method stub
Log.d("long clicked","position: " + pos);
return true;
}
});