如何将TextView绑定到动态变量?

时间:2017-07-24 13:17:24

标签: android

我想显示TextView个项目的网格。每个项目都显示项目被点击的频率。每次点击时,该值应增加+1。

问题:如何在每个项目上正确绑定它的计数器值?

//show simple grid with textview items, each showing how many times each was clicked
GridView grid;

final List<AtomicInteger> items = new ArrayList<>();
for (int i = 0; i < 6; i++) {
      items.add(new AtomicInteger(0)); //initialize with count=0
}
grid.setAdapter(MyItemAdapter(items));

grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        items.get(position).incrementAndGet();
        //TODO how to populate this to the TextView?
    }
});

如何将新计数写入TextView,以便更新显示?

将计数器列表传递给适配器并将其在clicklistener中增加是否正确?

或者我应该将clicklistener添加到类本身内的MyItemAdapter

1 个答案:

答案 0 :(得分:0)

父变量包含网格视图上的所有项目。 您可以通过

找到点击的项目
> dframe
  variable dates
1        A  2000
2        B  2016
3        C  2005

这仅更新网格视图中单击的项目

修改: 如果您为网格项设置了自定义项布局,

 ((TextView) parent.getChildAt(position)).setText(String.valueOf(count));