【问题标题】:How to get the value of TextView from position int in a ListView?如何从 ListView 中的位置 int 获取 TextView 的值?
【发布时间】:2012-03-25 09:53:13
【问题描述】:

我有一个Button,单击它时将执行addQty 方法,在此方法中,我需要在按下Button 的同一行上设置TextView 的值。我有可用的position 整数,但我不知道如何获得TextView。 我有一个自定义的ArrayAdapter,它在getView 方法中设置:

ImageButton plus = (ImageButton) v.findViewById(R.id.qtyPlus);
plus.setTag(position);

我的布局然后执行以下操作:

<ImageButton
   android:id="@+id/qtyPlus"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/plus"
   android:onClick="addQty" />

我的addQty 方法:

public void addQty(View v) {
        int position = Integer.parseInt(v.getTag().toString());

        Item tmp = (Item)adapter.getItem(position);
        Log.d("MyApp",tmp.getName());

}

这很有效,因为我能够获取列表中单击行的项目对象,但是我现在如何在该 ListView 行中设置 TextView 值?

【问题讨论】:

  • 我不明白这个问题。你能正确格式化吗?你的要求是什么?根据 tile 您需要 textview 中存在于特定位置的值。每个适配器都将与一个集合对象连接,该集合对象包含每一行的完整信息。您可以使用该集合对象获取任何行位置的数据。

标签: android android-listview android-arrayadapter textview


【解决方案1】:

您不直接为该列表行设置新的TextView 值,而是使用新值更新Item 元素,然后调用notifyDataSetChanged()(在适配器对象上)以通知适配器您修改了一些东西,它应该更新ListView

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多