【发布时间】:2016-04-14 19:53:59
【问题描述】:
你能帮我找到某个项目的textView吗?例如,我有一个包含一些项目的列表视图,每个项目由 3 个文本视图(名称、价格、描述)组成。现在我想用 updateView(int index) 方法改变“price”textView 的值。如何在正确的项目中识别正确的 textView?
假设我有 5 件商品(product1、...、product5)。
现在我想更新第三个产品(product3)的价格。
我打电话给updateView(3)
到目前为止我的 updateView(int index) 方法
private void updateView(int index){
// thats how I get the row
View v = lvProduct.getChildAt(index);
// now I want to find the tvPrice in that row
// but I'm not sure how to go about this
}
任何提示都会很棒:D
【问题讨论】:
-
为什么不更新数据源并在适配器上调用
notifyDataSetChanged()? -
问题是,当我尝试使用 findViewById(R.id.tvPrice) 执行此操作时,它每次都会更新第一项的 tvPrice,似乎我无法完全控制它......我所需要的只是一种方法来确定第一项中的哪个 tvPrice,第二项中的哪个,依此类推,然后能够调用该特定的 tvPrice,然后在该 textview 上调用
setText()......或者我错过了某事 -
有一个比这更简单的方法。让 ListView 为您工作。只需更改数据源、您的 ArrayList 或您用作数据源的任何内容。