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类本身如何通过长按来启动上下文菜单.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...