我正在处理 Android ICS 联系人移植。我想为starred(favorites) TAB 添加一个上下文菜单,但是该 Fragment 中的 ListView 非常特别。有一个普通的ListView,ListView中的每一项都有两个自定义的小View。我想实现,当用户长时间按下小视图时,它将为我显示一个上下文菜单。我该怎么办?请给我一个提示!非常感谢!
问问题
1746 次
2 回答
1
If you're using customized List-Items, you can register a specific callback-routine on your desired view. The place to do that is in your bindView() or getView() method.
TextView tt = (TextView) v.findViewById(R.id.text1);
TextView bt = (TextView) v.findViewById(R.id.text2);
tt.setOnLongClickListener(myLongOnClickListener);
于 2012-04-10T09:00:13.140 回答
1
在你创建你的小视图的地方添加这个,
registerForContextMenu(YourSmallView);
在您的活动中,您可以处理上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Context Menu");
menu.add(0, v.getId(), 0, "Action 1");
menu.add(0, v.getId(), 0, "Action 2");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="Action 1"){
function1(item.getItemId());
}
else if(item.getTitle()=="Action 2"){
function2(item.getItemId());
}
else {
return false;
}
return true;
}
或者你可以为你的视图设置一个长点击监听器
view.setOnLongClickListener(listener);
于 2012-04-10T08:55:21.973 回答