ListView中的条目长按点击事件的实现
来源:互联网 发布:编写java 用什么软件 编辑:程序博客网 时间:2024/06/05 02:06
实现步骤:
第一步:
registerForContextMenu(lv);//注册长按事件 (这个方法是原生的,不用自己写,lv 就是listView)
第二步:
lv.setOnItemClickListener(this);//注册并让activity 实现这个接口
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { GroupNotifyBean.DataBean dataBean = adapter.getItem(position); Intent intent =new Intent(app, AddGroupTipsActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//传递bean对象,要加这个标志 intent.putExtra("dataBean",dataBean); startActivity(intent); }
第三步:
重写onCreateContextMenu方法(安卓自身的)@Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { GroupNotifyBean.DataBean dataBean = (GroupNotifyBean.DataBean) lv.getItemAtPosition(((AdapterView.AdapterContextMenuInfo) menuInfo).position); getMenuInflater().inflate(R.menu.menu_mail_friend, menu); super.onCreateContextMenu(menu, v, menuInfo); }第四步:
重写onContextItemSelected方法(安卓自带的)@Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo(); int index = menuInfo.position; if (item.getItemId() == R.id.action_black) {//拉黑 R.id.action_black是注意事项:// R.menu.menu_mail_friend里面的
//接口请求 ToastUtil.show(mContext,"拉黑"); } return super.onContextItemSelected(item); }传递bean对象要加intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 并实现Serializable或者parcelable接口否则会报下面异常09-11 11:32:53.211 24320-24320/com.hx.socialapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.hx.socialapp, PID: 24320 android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? at android.app.ContextImpl.startActivity(ContextImpl.java:1610) at android.app.ContextImpl.startActivity(ContextImpl.java:1597) at android.content.ContextWrapper.startActivity(ContextWrapper.java:337) at com.hx.socialapp.activity.social.GroupNotifyActivity.onItemClick(GroupNotifyActivity.java:261) at android.widget.AdapterView.performItemClick(AdapterView.java:334) at android.widget.AbsListView.performItemClick(AbsListView.java:1531) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3667) at android.widget.AbsListView$3.run(AbsListView.java:5590) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5981) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
附录: 这个文件R.menu.menu_mail_friend.xml 放到res目录下的新建的menu文件夹下!<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <!--<item--> <!--android:id="@+id/action_beizhu"--> <!--android:orderInCategory="100"--> <!--android:title="备注"/>--> <item android:id="@+id/action_black" android:orderInCategory="100" android:title="拉黑"/></menu>
第二种实现方式是:lv.setOnLongClickListener(this);
让activity实现View.OnLongClickListener 接口,重写@Override public boolean onLongClick(View v) { return false; }方法,也可以实现
阅读全文
0 0
- ListView中的条目长按点击事件的实现
- Android的ListView中的长按事件触发点击事件
- Android:处理ListView条目中的Button的点击事件和条目点击事件冲突
- Android中listview条目中按钮点击事件的实现
- 用android处理ListView的条目长按事件
- ListView中的点击事件和长按事件
- ListView的item的点击事件和长按事件
- ListView的长按事件和点击事件
- ListView的点击事件、长按事件监听
- ListView同时实现点击和长按事件
- RecyclerView 初次体验,实现增加删除条目及item长按和点击事件
- listView中的item长按删除,长按事件与点击事件冲突
- RecycleView条目点击事件的实现方法
- listview获得每一项的点击,长按,滑动事件
- Android ListView/ListActivity点击长按事件
- Android ListView/ListActivity点击长按事件
- Android ListView/ListActivity点击长按事件
- Android ListView/ListActivity点击长按事件
- linux 从一台机器复制文件到另一台linux机器上去
- 【2013南京现场赛】1002 hdu4803 Poor Warehouse Keeper 贪心
- 解决Android studio开发找不到HttpClient问题
- mybatis的流程
- SQL Server 索引重建或重组
- ListView中的条目长按点击事件的实现
- 手机版模板 {dede:field.position /} 的用法
- Android 选择文件、拍照等需要注意的问题
- Array.prototype.filter()+forEach()
- Python中统计函数的运行耗时
- 进入Ruby的世界——基础篇
- LeetCode:M-647. Palindromic Substrings
- 关于notifydatasetchange的一些理解
- 设计模式学习笔记1--单例模式