【问题标题】:Is it possible to get value of views inside the listview by the click of button ouside the listview?是否可以通过单击列表视图外的按钮来获取列表视图内的视图值?
【发布时间】:2012-12-26 15:09:28
【问题描述】:

我有一个列表视图,我正在执行 setAdapter。在列表项中,我有 2 个文本视图和一个搜索栏。 在我的活动中,除了列表视图之外,我还有一个按钮。我想点击这个按钮,我应该得到在这些文本视图中设置的值。我通过更改搜索栏来设置文本视图中的值。

我想知道这是否可以通过单击不属于列表视图但在同一活动中的按钮来获取列表视图内视图的值(在更改搜索栏后设置)?

【问题讨论】:

  • 你想获取listView中的哪个项目的值?
  • Textview,在listview中,通过改变seekbar来改变
  • 我知道,但是您的 listView 有 many 项目,每个项目都有一个 TextView,那么您想要哪个项目的 TextView?
  • 我首先完成了 listview.getcount() 然后想要为该文本执行 findviewby id 然后在 forloop 中想要执行 textview.gettext.tostring。但除了列表视图的项目单击之外,我无法在任何地方获得视图。但我想在活动中点击按钮来获取它

标签: android listview button view onclicklistener


【解决方案1】:

在您的 Activity 中创建 HashMap 并将文本值保存在该地图中

ListView 的第一行获取TextView 对象:

View v = listView.getChildAt(0);
// if your row base layout is LinearLayout
// get it and find in this layout your TextView by id

if(v instanceof LinearLayout){
    v.findViewById(R.id.textView);
}

【讨论】:

  • 我想从我的活动中的列表视图中为 textview 执行 findviewbyId。一旦列表的 setadapter 已经完成。那可能吗 ?我没有看到按钮点击
  • 这看起来不错,我明天会在我的工作站上试试这个并告诉你,无论如何非常感谢。
  • 太棒了,它的工作原理!但唯一的事情是我的 listView.getChildAt(index);正在返回 null,尽管我在列表上执行 setadapter 后调用它,并且我也从 list.getcount 获取值。但是当我在按钮点击监听器中移动代码时,它可以工作。现在我担心的是它仅适用于列表中的可见项目。有没有一种方法可以获取列表中所有项目的值,无论它是否可见
猜你喜欢
  • 1970-01-01
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-27
  • 1970-01-01
相关资源
最近更新 更多