`
sinye
  • 浏览: 219247 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ListView获取选中和长按菜单对应的item的_id值

阅读更多

首先,如果是用simpleCursorAdapter填充ListView的数据时,必须注意sqlite的主键命名,由于simpleCursorAdapter的方法只识别_id,所以,当你用到sqlitesimpleCursorAdapter时,必须把数据表的主键命名为_id。否则就会出现java.lang.IllegalArgumentException: column '_id' does not exist错误。

(1)言归正传,当我们点击ListView时,会调用ListView的点击事件,那么点击的这个item的对应的数据库的_id的值,我们可以通过以下代码获取

 

public class RoadPickList extends Activity{
	private static final String TAG = "RoadPickList";
	private ListView lv;
	private int id;
	public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
        	setContentView(R.layout.roadpicklist);
        	lv = (ListView)findViewById(R.id.listview);
       	 /**
        	 * 添加点击
      	   */
      	  lv.setOnItemClickListener(new ListView.OnItemClickListener() {

			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				id = (int) arg3;//这里的这个arg3对应的就是数据库中_id的值
			}   
  
        	});  
}

 

 (2)另外,我们可能还会用到长按菜单(上下文菜单),当我们在ListView上长按时,想获得长按的这个ListViewitem_id的值,参考下面这段代码

 

/**
* 长按菜单的响应
*/
public boolean onContextItemSelected(MenuItem aItem) {     
         ContextMenuInfo menuInfo = (ContextMenuInfo) aItem.getMenuInfo();     
         AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)aItem.getMenuInfo(); 
         id = (int)info.id;//这里的info.id对应的就是数据库中_id的值
      return true; 
} 

 

4
2
分享到:
评论
2 楼 564065574 2011-12-09  
请问楼主,数据库的id与listview的id有什么关系吗?我觉得好像没什么必然的联系吧,
1 楼 zingsky 2011-09-26  
如果数据库中的_id被删除掉了某一个部分应该如何操作呢

相关推荐

    Listview 长按弹出菜单

    `Listview 长按弹出菜单`的功能可以极大地提升用户体验,使得用户在查看列表项时能快速执行相关操作。本教程将深入讲解如何实现这个功能,以及相关的事件处理。 一、ListView概述 ListView是Android SDK提供的一种...

    ListView长按显示菜单

    `ListView长按显示菜单` 是一个常见的交互设计,允许用户通过长按列表项(ListView中的每一行)来触发一个上下文相关的操作菜单,提供了对单个条目进行编辑、删除或其他定制操作的方式。在本篇文章中,我们将深入...

    Android编程实现带有图标的ListView并带有长按菜单效果示例

    Android 编程实现带有图标的 ListView 并带有长按菜单效果示例 Android 编程实现带有图标的 ListView 并带有长按菜单效果是 Android 开发中常见的需求。本文将详细介绍如何实现带有图标的 ListView 并带有长按菜单...

    android Listview仿QQ长按Itme弹出popwindos菜单

    本示例"android Listview仿QQ长按Item弹出popwindows菜单"旨在教你如何实现类似QQ应用中的长按列表项后弹出快捷操作菜单的功能。这个功能在很多应用中都很常见,可以为用户提供方便的操作入口。 首先,我们需要理解...

    ListView例子长按出子菜单

    这个“ListView例子长按出子菜单”示例是关于如何为ListView中的每个条目添加长按事件,以弹出上下文相关的子菜单。这个功能对于提高用户体验非常有用,因为它提供了与列表项进行交互的更多方式。 首先,我们需要...

    ListView:单击和长按弹出上下文菜单(ContextMenu)

    本篇文章将深入探讨如何在ListView中实现单击和长按事件,弹出上下文菜单(ContextMenu)。这通常用于提供针对列表项的快捷操作,提升用户体验。 首先,我们需要在清单文件(`AndroidManifest.xml`)中为我们的Activity...

    实现对ListView的多选、长按和删除

    获取SparseBooleanArray中所有true的位置,然后从数据源中移除这些对应的项。最后,通知ListView的Adapter数据已更改,通过调用adapter.notifyDataSetChanged()刷新视图。 5. **长按事件**:为了实现长按操作,需要...

    自定义dialog实现listview长按删除item数据

    本文将深入探讨如何实现一个自定义Dialog来展示ListView,并且允许用户通过长按来删除ListView中的item数据。 首先,我们需要创建自定义Dialog的布局文件。在res/layout目录下创建一个新的XML文件,例如`dialog_...

    Android ListView 长按弹出菜单详解

    详细介绍文章在http://hi.baidu.com/dean_wang/blog/item/00b0e247d223b528cefca374.html上面。介绍了Android中的ListView的长按事件如何根据点击的项不一样弹出不同的菜单。这是整个工程源码。

    Android ListView长按删除

    综上所述,实现Android ListView的长按删除功能,主要涉及以下几个步骤:设置适配器、添加长按监听器、处理长按事件、删除数据源中的项并更新适配器,以及可选地提供删除确认提示。通过这些步骤,你可以为你的...

    ListView点击,长按,手势item横向滑动,显示被顶部覆盖的底层

    微信5.0的取消了item长按,让我最开始不知道怎么删除信息了,好忧郁。搞了半天才发现item可以滑动... 这个Demo是git上的SwipeListView一个开源项目。具体实现了item点击向右滑动,显示底层的布局。支持各种操作,...

    ListView动态添(长按)删除加不同的item

    - 在监听器的`onItemLongClick()`方法中,获取长按item的位置,并弹出删除确认对话框,或者直接执行删除操作。 - 删除后同样需要调用`notifyDataSetChanged()`。 5. **删除item** - 根据长按位置从数据源中移除...

    listview 长按弹出菜单

    在实际应用中,我们经常需要为ListView添加各种交互功能,比如长按弹出菜单、单击事件处理以及实时显示当前时间等。以下是对这些知识点的详细解释: 1. **长按弹出菜单**: 在ListView中实现长按弹出菜单,主要...

    android listview长按,单击各种事件捕捉

    // 在这里处理长按事件,比如显示菜单或者执行其他操作 return true; // 返回true表示已经处理了长按事件,防止其他事件冲突 } }); ``` 3. 事件分发: 在ListView中,由于子View(比如ImageView或TextView)...

    ListView获取item中EditText值

    然而,由于ListView的复用机制,获取ListView中特定位置Item的EditText值可能会遇到挑战。本文将详细介绍如何在ListView中正确地获取EditText的值。 首先,理解ListView的工作原理至关重要。ListView通过ViewHolder...

    android ListView Item展开效果

    然而,仅使用基本的ListView有时无法满足复杂的交互需求,例如,我们可能需要在ListView的每一项(Item)上实现点击后展开子项的效果。这就涉及到了“android ListView Item展开效果”的实现。 ListView的Item展开...

    点击listview的item在所点击的item的上边弹出popwindow

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的...这个功能在许多应用中都有用到,比如消息列表的长按删除、选项菜单等,通过结合ListView和PopWindow,我们可以为用户提供更加直观和便捷的操作体验。

    Android ListView长按弹出菜单二种实现方式示例

    * 知识点1:ListView item:两种长按弹出菜单方式* 知识点2:ListView SimpleAdapter的使用* 知识点 3:在java代码中创建一个ListView*/ public class ListOnLongClickActivity extends Activity { private ...

    ListView长按实现多选反选删除

    本教程将详细介绍如何在ListView中实现长按实现多选反选删除的功能。 一、基础准备 1. 创建ListView:首先在XML布局文件中添加ListView,并设置相应的适配器。适配器通常由ArrayList或ArrayAdapter等类实现,用于...

Global site tag (gtag.js) - Google Analytics