问题描述
|
假设我有一个ListActivity,现在我想捕捉一个列表项上的长按事件,因为我使用了以下代码块(在googled之后获取),但是它不起作用!请帮忙!
public class InBoxActivity extends ListActivity {
this.getListView().setonLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(InBoxActivity.this,\"postion: \" + getListView().getSelectedItemPosition(),Toast.LENGTH_SHORT).show();
return true;
}
});
}
我也可以使用contextmenu在网上看到一些代码,但是我没有从上下文菜单打开的地方获取listItem位置的方法。
解决方法
我不知道您是否已经解决了您的问题,我几乎确定您已经做到了,但这是可行的
this.getListView().setLongClickable(true);
this.getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent,View v,int position,long id) {
//Do some
return true;
}
});
,this.getListView().setOnItemLongClickListener
应该起作用。
, (viewitem).setOnLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onLongClick(View v) {
//your code here
return false;
}
}
(这与上面的答案有些不同)
,我认为您想知道如何获得价值。
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView parentView,View childView,long id) {
// this will provide the value
listView.getItemAtPosition(position)
return false;
}
})