2 myq 26 myq_26 于 2013.02.20 14:03 提问

如何检索 Listview 中某一个 item 的 ID?

我想检索Listview中某一个项目的ID。现在只能获得位置。如何检索Listview中某一个位置的ID?

public class OSListActivity extends ListActivity { 
................
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
................
................
        MatrixCursor cursor;
        cursor = datasource.getnameList();
        if (cursor.moveToFirst()) {
            startManagingCursor(cursor);
            String vdstatus = cursor.getString(6);
            System.out.println("vdstatus : " + vdstatus);
            String[] from = { "name", "desc", "status", "path", "folder",
                    BaseColumns._ID };
            int[] to = { R.id.name, R.id.desc, R.id.status, R.id.path };
            final VSsimplecursoradapter adapter = new VSsimplecursoradapter(
                    this, R.layout.row, cursor, from, to);
            setListAdapter(adapter);
        }
    }

    @Override
    public void onListItemClick(ListView parent, View view, int position,
            long id) {
        Intent intent = new Intent(this, VSDetailsActivity.class);
        intent.putExtra("com.manager.boot.r1223."+BaseColumns._ID, position);//TODO put _id instead of position
        startActivity(intent);
    }
}

Edit: 解决

public void onListItemClick(ListView parent, View view, int position,
        long id) {
    // Starts TestDetails activity on clicking a list item.
    Cursor cursor = (Cursor) adapter.getItem(position);
    Intent intent = new Intent(this, VSDetailsActivity.class);
    intent.putExtra("com.manager.boot.r1223."+BaseColumns._ID, cursor.getInt(cursor
            .getColumnIndex("_id")));
    startActivity(intent);
}

3个回答

baimy1985
baimy1985   2013.02.20 21:09
已采纳

你的ID是指哪个啊? onListItemClick(ListView parent, View view, int position, long id) 这里不是有一个了吗?如果是数据库里那个id,你有位置position,又有cursor了,可以通过cursor获取啊。

baimy1985
baimy1985 view.findViewById() 你是要这里面的? 其实你是想获取对应的view是不是?
5 年多之前 回复
myq_26
myq_26 这里的 ID 是指 ListView 中某一个 item 的 ID.
5 年多之前 回复
zlQQhs
zlQQhs   2013.02.25 23:39
mListView.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // TODO Auto-generated method stub

            }
        });
LiDaming_and
LiDaming_and   2013.02.21 11:12

你已经获取了呀。看你方法中的参数。看"Long id" 这部分?这就是你要找的 ID.

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
listview 刷新某一个item
public void updateView(int itemIndex) {           //得到第一个可显示控件的位置,           int visiblePosition = mListView.getFirstVisiblePosition();           //只有当要更新的view在可见的位置时才更新,不可见时,跳过不更新           if (i
在listView中点击其中的item。获得对应的ID或者别的信息
// 点击listView中的项.把点击的当前行id传到另外一个activity中 getListView().setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View view, int position, long id) { String se
菜鸟学android——获取listview某个item的view对象
网上查了查,发现这个问题很冷门,可现在又有这个需求,只好自己摸索一下了
ListView中单独更新某个Item的方法
在一些listview的应用中,有时只是需要更新某一个指定的item。如聊天应用中,发送聊天结束的时候去更新发送的这条聊天的状态;论坛中,给某个帖子点赞成功之后去更新这个帖子的点赞数量。这个时候,我们不需要去调用Adapter的notifyDataSetChanged方法。可以写一个updateItem(int position)的方法去更新指定项。 listview提供了getchildat(
BaseAdapter实现ListView中item上每个控件的获取以及点击
借鉴这位大神的代码,自己稍微修改了一下(其实也没改多少),把源码出来大家看看,刚开始学习android,有很多不懂的地方,望大家多多指教 先来一张效果图,点击任何一个button,获取button的值,具体动作,大家可以自行修改 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/
【面试】如何解决ListView整个Item点击和Item中某个按钮的点击
Question 如何解决ListView整个Item点击和Item中某个按钮的点击分析过程 在ListView中,往往我们在自定义的Item中的按钮会自动获取焦点。这就可能导致我们点击整个Item时没响应。 解决方法 可以在Item布局的根节点中添加descendantFocusability属性,该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。其属性
让ListView指定的item获取焦点
让ListView指定的item获取焦点         两个方法就设置好了: 1、boolean b = listView.requestFocus();  让ListView获取到焦点,这个方法返回是Boolean类型。判断是否获取到焦点; 2、listView.setSelection(position);这个方法是让ListView的position位置的item获取到焦点。
android修改listview列表的item中某个控件的值demo
不用adapter的notifyDataSetChanged()方式修改listview的item某个控件的设置,通过点击item中的textview使得该textview的值发生改变
如何动态修改ListView中某个Item里的组件值
各位大侠,小弟在开发时遇到一个问题。就是如何动态修改ListView里指定Item中的组件属性。实例如下:图1,点击任一个“修改”按钮后,打开了一个自定义的AlertDialog,如图2,选择“迟到”后,点击“确定”按钮,希望能修改原来那个ListView中相应的Item里的ImageView中显示的图片。 PS:也有人说没法这么修改,只能在getView()中改list>。。。大侠们帮忙给
删除listview列表里面的单个item
本人刚接触android不久,也就是边学边用,最近做一个手机客户端,遇到了好多问题,今天我就对于移除listview中的item来进行说说,事先申明,我这是针对于还没入门的同学来说,因为我也没入门,但是为了更加形象化的把自己所做的东西分享下,废话不说我们直接来说吧! 首先,通过布局我们在listview中的item里面放置button,具体的怎么布局自己想吧,我在做button时间的时候,是通过