如何在长按时显示列表项中的按钮

时间:2014-02-11 16:36:44

标签: java android android-listview

我试图模仿twitter应用程序的行为。当您长按一个项目(推文)时,该列表项上会显示四个按钮。可以按下任何这些按钮以将用户带到另一个屏幕。

同样,我有一个这样的列表:

lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View view, int arg2,long arg3) {
        startActivityWhenListItemClicked(view);
    }
});

单击列表项时,上述代码有效。

如何实施long-press并在列表项上显示几个按钮?我将不胜感激任何教程或示例。

1 个答案:

答案 0 :(得分:1)

onClickListener()完全相同,但onLongClickListener()实施onLongClick()。我会通过这种方式注册每一行的上下文菜单:

 context.registerForContextMenu(yourView);

然后简单地实现上下文菜单功能覆盖。

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
  menu.setHeaderTitle("My twitter menu");
  menu.add(Menu.NONE, 0, 0, "Remove");
}

@Override
public boolean onContextItemSelected(MenuItem item) {
  final int mId = item.getItemId();

  switch (mId) {
    case 0:
      ...        
      break;

    default:
      break;
  }

  return true;
}