【问题标题】:Android, How to get single item of a row in ListView?Android,如何在 ListView 中获取一行的单个项目?
【发布时间】:2012-06-21 20:06:17
【问题描述】:

我的活动中有一个 ListView。 每行包含三个在此模式中的 TextView:(RowId) (Name) (电话号码)

当用户点击一行时,我需要获取行 ID。我做了很多事情并搜索了网络,但我没有找到解决方案。我不知道如何从以下方法获取行 ID:

listView = (ListView) findViewById(R.id.listview);
listView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            Log.i(TAG, "item " + position + " clicked.");

        }
});

任何建议都将不胜感激。

【问题讨论】:

  • 你读过“onItemClick”的javadoc吗?

标签: android listview


【解决方案1】:

你也可以使用v.findViewById(R.id.yourTextViewId)

【讨论】:

  • 哇,你太棒了 Ixx。经过5个小时的搜索,你终于解决了我的问题。再次感谢。其他方法对我没用。
  • 我得到 NullPointException
【解决方案2】:

如果您确定ListView 项目是由这三个TextView 直接组成的,您也可以使用v.getChildAt(0)

【讨论】:

    【解决方案3】:

    获取行元素

    使用v.findViewById(&lt;id of row element&gt;)

    您可以使用 get 获取列表中的对象数据............

    <your_adapter>.getItem(position);
    

    parent.getItemAtPosition (position);

    两者都会返回 Object....

    【讨论】:

    • 谢谢亲爱的 Dheeresh。问题是它每次都返回 null 。我写了类似的东西: TextView tv = (TextView) parent.getItemAtPosition(position); Log.i(TAG, ">> " + tv.getText());
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    相关资源
    最近更新 更多