微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 单击上下文菜单

抱歉愚蠢的问题,但我应该更改/添加代码 – 通过短暂单击列表视图中的项目来显示上下文菜单
public class MyActivity extends ListActivity implements AdapterView.OnItemClickListener {
    static final String[] COUNTRIES = new String[]{
            "Afghanistan","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica"
    };

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setlistadapter(new ArrayAdapter<String>(this,R.layout.list_item,COUNTRIES));

        ListView lv = getListView();
        lv.setTextFilterEnabled(true);

        lv.setonItemClickListener(this);
    }


    public void onCreateContextMenu(ContextMenu menu,View v,ContextMenu.ContextMenuInfo menuInfo) {
        Log.e("sdklfjsdkljfl"," <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ");
        menu.setHeaderTitle("HELLO");

    }

    public void onItemClick(AdapterView<?> adapterView,View view,int i,long l) {
        Log.e("kjhasjkdhkas","sdkhjkhskaf");
        this.openContextMenu(view);
    }
}

解决方法

这里发布的其他解决方案对我不起作用,因为我使用的是ListFragment.但是,以下解决方案似乎对ListFragment和ListActivity(或者通常只是任何旧的listview)都很有效:
public void onListItemClick(ListView l,int position,long id){
  l.showContextMenuForChild(v);   
}

它更加简单和优雅.实际上,这实际上是ListView类本身如何通过长按来启动上下文菜单.

原文地址:https://www.jb51.cc/android/316391.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐