【发布时间】:2016-03-01 16:17:52
【问题描述】:
我想在点击后更新可点击按钮中的文本。
我有一个喜欢产品的按钮,它的文字显示产品有多少喜欢。
<Button
android:id="@+id/like"
android:text= "@string/like"
android:drawableTop="@drawable/like"/>
<string name="like">Likes: </string>
因此,在此按钮的onClick() 方法中,我使用like.setText("Likes: " + product.getLikes()); 来更新文本:
Button like = (Button) v.findViewById(R.id.like);
like.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
like(product);
like.setText("Likes: " + product.getLikes());
}
});
like() 方法确实有效 - 我检查过了。 product.getLikes() 方法返回正确的值。
但是按钮保持不变。我无法弄清楚问题是什么。
更新: 我注意到,一旦我向下滚动到其他项目并再次向上滚动,文本就会自行更新......
【问题讨论】:
-
能否分享更多代码(比如你的 onClick 方法)
-
您想要更新 TextView 并且您正在调用对按钮的引用。您的代码显示您的按钮名称是“like”并且您正在为该对象调用 setText() ?请发布整个代码以及您的文本视图的名称。
-
而不是 "like.setText(...)" 使用这个:" ((Button)v).setText(...)" 这样你至少可以确保你正在更新点击查看。
-
您可以尝试在同一行进行调试,除了 getLikes() 返回不正确的值或其他一些视图得到更新之外,我想不出其他原因(在这种情况下,请尝试使用变量 v 参数onClick() 设置文本)