android - 在 Android 的 ListView 中更改按钮的文本

标签 android listview button text

我有一个使用自定义 ArrayAdapter 设置的自定义 ListView。 一排由 10 个按钮组成。单击按钮后,我无法更改按钮标题。在 getView 方法中,我正在为我的所有按钮设置一个支架。 点击监听器在主要 Activity 中,它工作正常(我认为是这样),我能够获得按钮的引用:

MyHolder h = (MyHolder) getListView().getAdapter().getView(position, null, null).getTag();<br/><br/> Button b = h.myButton;

现在当我调用 b.getText() 时,它会给我单击按钮的文本。 但是当我尝试时: b.setText("xxx");按钮的文本不会改变。

有什么想法吗?

最佳答案

我不认为手动调用:getListView().getAdapter().getView(position, null, null) 实际上会返回 position 处的现有 View 。这只会创建一个具有相同数据的 View ,这就是为什么您看不到任何更改并且没有收到任何错误的原因。

只需使用传入 Button 的 OnClickListener 的 View 来更改其自身的文本。

public void onClick(View v) {
    Button b = (Button) v;
    b.setText(...);
}

关于android - 在 Android 的 ListView 中更改按钮的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325512/

相关文章:

javascript - 单击时显示/隐藏按钮

android - 将动画翻译到 Android 中的正确位置

java - 在 Android ListView 中添加商品价格

c# - 恢复 C# Windows 窗体背景色

jQuery 移动 + 主干 : cannot call methods on listview prior to initialization

c# - 阻止用户调整 ListView 中的列宽?

android - 如何订购这样的元素?

android - Android N 中的定期作业(Nougat,7.0)

php - 从不同的网络连接到 MySQL 数据库?

android - 在 com.google.android.gms.measurement.internal 解除绑定(bind)时抛出异常