单击按钮后更新按钮文本

时间:2016-03-01 16:17:53

标签: java android xml button

点击后,我想在可点击的按钮中更新文字。

我有一个喜欢产品的按钮,它的文字显示该产品有多少喜欢。

<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()返回正确的值。 但是按钮保持不变。我无法弄清楚问题是什么。

更新: 我注意到,当我向下滚动到其他项目并再次向上时,文本会自动更新....

2 个答案:

答案 0 :(得分:-1)

试试这个:

String mlikes= product.getLikes().toString();
like.setText("Likes: " + mlikes);`

答案 1 :(得分:-1)

试试这个。

final Button btn = (Button)findViewById(R.id.btn);
    final Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            btn.setText("new text");
        }
};


btn.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
     handler.sendEmptyMessage(0);
  }
});