问题 Android - 如何更改现有ListView的页眉/页脚视图元素?


假设我使用典型方法将标题视图添加到列表视图中,如下所示:

View header = getLayoutInflater().inflate(R.layout.list_header, null);
TextView headerText = (TextView) header.findViewById(R.id.my_textview);
headerText.setText("This is my header!");

myListView.addHeaderView(header);
myListView.setAdapter(adapter);

然后,我需要更改标题textview的文本...

TextView headerText = (TextView) findViewById(R.id.my_textview);
headerText.setText("new header text!");

这似乎不起作用,因为我最初将标题附加到列表的方式是通过膨胀它...

如何更改文字?


12080
2017-10-25 18:00


起源

为什么你第二次得到头文本视图resultCode TextView headerText =(TextView)findViewById(R.id.my_textview); ?只需将第一个直接用于setText即可。 - user370305
发布整个活动代码,以便我们轻松了解问题。 - user370305


答案:


您应该只存储对最初使用的headerText的引用。然后打电话 setText 在以后。


11
2017-10-25 18:05



这是我最终采取的方法。但是因为 headerText 从一个膨胀的视图中检索,我还必须存储对膨胀的视图的引用。它工作了! - Jake Wilson


你在哪里执行代码来改变标题文本?如果您没有在UI线程上执行此操作,则textview将不会更新。


0
2017-10-25 18:03