标签: android-contextmenu

Android - ListView - 上下文菜单不起作用

我有一个ListFragment我使用注册上下文菜单的地方registerForContextMenu(),我覆盖了onCreateContextMenu(). 问题是onCreateContextMenu()当我长按任何项目时从未调用过。

这是一些代码:

public class List_F extends ListFragment {
    @Override
    public void onActivityCreated(Bundle arg0) {
        super.onActivityCreated(arg0);

        registerForContextMenu(getListView());

        setListAdapter(...);
        setListShown(false);

        // launch cursor loader
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
                                    ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        MenuInflater inflater = getActivity().getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
        int i = item.getItemId();
        if (i == R.id.menu_item_delete) {
            delete(info.id);
            return true;
        } else {
            return super.onContextItemSelected(item); …
Run Code Online (Sandbox Code Playgroud)

android android-contextmenu

3
推荐指数
1
解决办法
2693
查看次数

使用onCreateContextMenu从listView复制文本

我试图使用onCreateContextMenu OnCreateContextMenu和ListView项目从列表视图中复制项目文本, 并 从Android上的TextView复制文本, 但我不知道如何将菜单中的副本上的点击与listView相关联.

我当前的代码,打开一个带有副本的菜单,我不知道如何在单击副本后获取文本

 @Override
 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
     super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, v.getId(), 0, "copy");

}

@Override  
public boolean onContextItemSelected(MenuItem item) {  
    if(item.getTitle()=="copy"){}  
    else {return false;}  
return true;  
}  
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

android android-contextmenu

2
推荐指数
1
解决办法
3048
查看次数

ListView:隐藏上下文操作栏

我正在遵循使用上下文操作模式官方指南,如下所示:

    listView.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE_MODAL);
    listView.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {

        @Override
        public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
        }

        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            MenuInflater inflater = mode.getMenuInflater();
            inflater.inflate(R.menu.shelf_context, menu);
            return true;
        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return true;
        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            // some processing...
            return true;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {
        }
    });
Run Code Online (Sandbox Code Playgroud)

我的 listView 位于 aFragment内, a位于 a内 …

android listview android-contextmenu multichoiceitems

2
推荐指数
1
解决办法
1267
查看次数

上下文菜单单击Android

我是Android开发的新手。我试图将上下文菜单添加到我的应用程序。我了解默认情况下,它需要长按一下按钮才能打开上下文菜单。但是我需要使其显示在单击上。我在stackoverflow中尝试了所有其他解决方案,但没有一个真正对我有帮助。

我已经在下面发布了我的代码。请告诉我要进行哪些修改才能使其正常工作。

public class ThirdActivity extends ActionBarActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.third_layout);
        confirmButton = (Button) findViewById(R.id.confirmButton);
        registerForContextMenu(confirmButton);
}

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    menu.setHeaderTitle("Select Menu");
    menu.add(0, v.getId(), 0, "Action 1");
}


public boolean onContextItemSelected(MenuItem item) {

      if (item.getTitle() == "Action 1") {
        //do something
    }
}
Run Code Online (Sandbox Code Playgroud)

android contextmenu android-contextmenu

2
推荐指数
1
解决办法
1742
查看次数

如何在 firebaseui 提供的 recyclerview 项目上使用上下文菜单

我想知道如何在 FirebaseUI 提供的 recyclerview 项目中放置上下文菜单,并且能够在知道长按哪个项目的情况下执行一些操作。因为当我尝试在我的持有者类上使用 onCreateContextMenu 时,我的 ContextMenuInfo 带有空值。这是我的持有人课程:

public class PlayerHolder extends RecyclerView.ViewHolder implements View.OnCreateContextMenuListener {
    //private static final String TAG = PlayerHolder.class.getSimpleName();
    public TextView playerName;
    public TextView playerAge;

    public PlayerHolder(View itemView) {
        super(itemView);
        playerName = (TextView) itemView.findViewById(R.id.player_name);
        playerAge = (TextView) itemView.findViewById(R.id.player_age);
        itemView.setOnCreateContextMenuListener(this);
    }

    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        menu.add(0, 1, 0, "Edit");//groupId, itemId, order, title
        menu.add(0, 2, 0, "Share");
        menu.add(0, 3, 0, "Delete");
    }

    //@Override
    public boolean onContextItemSelected(MenuItem item) {
        AdapterView.AdapterContextMenuInfo info = (AdapterView …
Run Code Online (Sandbox Code Playgroud)

android android-contextmenu navigation-drawer android-recyclerview firebaseui

2
推荐指数
1
解决办法
5589
查看次数