问题

I'm trying to create a ContextMenu when user tap hold on an item in my ListView. However my code doesn't show anything when I tap hold on my item. Could somebody please check on my code. Thank you.

public class MyD extends SherlockListFragment implements

ActionBar.TabListener {

private File file;

private List myList;

private Fragment mFragment;

private ListView DLListView;

private ArrayAdapter listAdapter;

@Override

public void onActivityCreated(Bundle savedInstanceState) {

super.onActivityCreated(savedInstanceState);

getActivity().setContentView(R.layout.dl_listview);

View empty = getActivity().findViewById(R.id.empty);

DLListView = (ListView) getActivity().findViewById(R.id.DLListView);

DLListView.setEmptyView(empty);

if (!Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED)) {

Toast.makeText(getActivity(),

"Error! No SDCARD Found!",

Toast.LENGTH_LONG).show();

} else {

File directory = new File(Environment.getExternalStorageDirectory()

+ File.separator + "St");

directory.mkdirs();

}

DLListView = (ListView) getActivity().findViewById(R.id.DLListView);

myList = new ArrayList();

File sdCard = Environment.getExternalStorageDirectory();

file = new File(sdCard.getAbsolutePath() + "/St/");

File list[] = file.listFiles();

for (int i = 0; i < list.length; i++) {

String fileName = list[i].getName();

fileName = fileName.replace(".txt", "");

myList.add(fileName);

}

listAdapter = new ArrayAdapter(getActivity(),

R.layout.simplerow, myList);

DLListView.setAdapter(listAdapter);

DLListView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view,

int position, long id) {

// TODO Auto-generated method stub

String textToPass = myList.get(position);

Intent i = new Intent(getActivity(), ViewActivity.class);

textToPass = textToPass.replace(textToPass + "", textToPass

+ ".txt");

i.putExtra("textToPass", textToPass);

startActivity(i);

}

});

DLListView.setOnItemLongClickListener(new OnItemLongClickListener() {

@Override

public boolean onItemLongClick(AdapterView> parent, View view,

int position, long id) {

// TODO Auto-generated method stub

return false;

}

});

}

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)

{

super.onCreateContextMenu(menu, v, menuInfo);

AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;

String name = ((TextView) info.targetView).getText().toString();

menu.setHeaderTitle(name);

menu.add(0,v.getId(), 0, "Play");

menu.add(0,v.getId(),1,"Delete");

}

回答1:

Try this:

DLListView.setOnItemLongClickListener(new OnItemLongClickListener() {

@Override

public boolean onItemLongClick(AdapterView> parent, View view,

int position, long id) {

// TODO Auto-generated method stub

registerForContextMenu( view );

openContextMenu( view );

return false;

}

});

Even you can use closeContextMenu() if you want to close. Hope this helps.

回答2:

If you mean longClick, you're lacking the OnItemLongClickListener().

And, to call the Context menu, check this: how to call context menu

回答3:

You must register the ViewGroup (DLListView) to recognize the component in the menu.

DLListView = (ListView) getActivity().findViewById(R.id.DLListView);

registerForContextMenu(DLListView);

With these changes is not necessary to register each element in the ListView component.

来源:https://stackoverflow.com/questions/14035550/android-listview-contextmenu

android contextmenu listview,Android ListView ContextMenu相关推荐

  1. Creating a ContextMenu on a ListView

    layout中的main.xml XML: <?xml version ="1.0" encoding ="utf-8" ?> <Linear ...

  2. Android攻城狮认识ContextMenu

    什么是ContextMenu? 例如Windows系统的右键菜单,在Android中长按某个文件夹,会跳出菜单,这个菜单就是ContextMenu. ContextMenu与OptionMenu的区别 ...

  3. Android中上下文菜单选项--ContextMenu

    Android系统中的ContextMenu(上下文菜单)类似于PC中的右键弹出菜单,当一个视图注册到一个上下文菜单时,执行一个在该对象上的"长按"动作,将出现一个提供相关功能的浮 ...

  4. android 分组 listview,Android实现的ListView分组布局改进示例

    本文实例讲述了android实现的listview分组布局改进方法.分享给大家供大家参考,具体如下: 由于是在网上转载的一篇文章,在这里就不多说废话了,首先看一下最终的效果图: 然后是实现该listv ...

  5. android 图片列表,Android 列表使用(ListView GridView Gallery图片计时滚动)

    ListView 作用: 1.将数据填充到布局. 2.处理用户的选择点击等操作. 根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAd ...

  6. [Android]使用RecyclerView替代ListView(四:SeizeRecyclerView)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6641794.html [Android]使用RecyclerV ...

  7. Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片...

    一. Application用途 1. Application用途 创建Application时机 : Application在启动的时候会调用Application无参的构造方法创建实例; Appl ...

  8. android listview分页显示,Android应用中使用ListView来分页显示刷新的内容

    点击按钮刷新1.效果如下: 实例如下:  上图的添加数据按钮可以换成一个进度条  因为没有数据所以我加了一个按钮添加到数据库用于测试:一般在服务器拉去数据需要一定的时间,所以可以弄个进度条来提示用户: ...

  9. 【Android 应用开发】Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片

    一. Application用途 1. Application用途 创建Application时机 : Application在启动的时候会调用Application无参的构造方法创建实例; Appl ...

  10. Android开发系列之ListView

    上篇博客攻克了Androidclient通过WebService与server端程序进行交互的问题,这篇博客重点关注两个问题,一个是Android应用程序怎样与本机文件型数据库SQLite进行交互,还 ...

最新文章

  1. IBatis.Net学习笔记系列文章
  2. 中国半挂车行业投资前景预测与十四五投资战略规划分析报告2021年版
  3. centos7.x 64位 rpm安装JDK8
  4. BZOJ 3112 Zjoi2013 防守战线 单纯形
  5. idea本地跑如何看gc日志_线上故障如何快速排查?来看这套技巧大全
  6. 前端封装接口弹出错误_Java:SpringBoot写后端接口,看这一篇就够了
  7. mvn命令及生命周期
  8. 标准正态分布怎么算_标准正态分布函数的快速计算方法
  9. Qt笔记(六十三)之Qt实现窗口以及控件的全屏效果
  10. 伦敦城市级MaaS出行服务可行性研究
  11. 一个人靠不靠谱,在于能力是否配得上承诺
  12. 2021深圳入户新政策大变动(软考中、高级职称请留意)
  13. 牛客网练习-《网络基础》DAY1
  14. 戴尔计算机主机型号,戴尔电脑在哪看型号_戴尔电脑型号怎么看
  15. .net的反射技术(2)深究及 性能比较
  16. 哈工大自动出校申请(selenium+chromedriver)(2021.3.22更新)
  17. 【删除重复数据,仅保留一条-mysql】
  18. createImage和getImage区别
  19. php-sdk 安装,PHP SDK怎么安装
  20. python pexpect输出_Python Pexpect详解

热门文章

  1. GDI+绘制的一个Report Designer原型
  2. islider.js轮播图
  3. mysql 高可用架构 proxysql 之一 yum安装
  4. 17、Flask实战第17天:Flask-cookie
  5. 访问ntfs文件系统获取目标文件簇流
  6. 在线最大公因数计算器
  7. MSSQL日期格式转换函数(使用CONVERT)
  8. React从入门到精通系列之(14)refs和DOM元素
  9. DirectInfo.GetFiles 排序
  10. 20145129 《Java程序设计》第3周学习总结