0

我正在处理 Android ICS 联系人移植。我想为starred(favorites) TAB 添加一个上下文菜单,但是该 Fragment 中的 ListView 非常特别。有一个普通的ListView,ListView中的每一项都有两个自定义的小View。我想实现,当用户长时间按下小视图时,它将为我显示一个上下文菜单。我该怎么办?请给我一个提示!非常感谢!

4

2 回答 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 回答