TextView.setText()后跟TextView.invalidate()不会更新视图中的文本

时间:2010-12-19 07:52:52

标签: android android-layout

我不知道为什么这不起作用。 TextView是从视图中的标签定义的。基础TextView没有文本集,我想在显示的视图中设置它。

我尝试将下面的内容放在onCreate和onStart上,但它似乎不起作用。最后两行仅用于调试。我可以验证标题是否获得了文本。问题是,TextView实际上并没有得到更新。有什么想法吗?

TextView header=(TextView) findViewById(R.id.acheader);
        header.setText(R.string.accounts);
        header.invalidate();
        header=(TextView) findViewById(R.id.acheader);
        String blah=(String) header.getText();

2 个答案:

答案 0 :(得分:0)

再次尝试删除第4行中的文字         header =(TextView)findViewById(R.id.acheader);

答案 1 :(得分:0)

  1. 不需要header.invalidate()。

  2. 而不是String blah =(String)header.getText()试试    String blah = heager.getText()。toString();

  3. 为什么要使用代码在文本视图上验证“setText()”?为什么你不能检查 实际产出?

    上述代码可能无法按照您尝试使用它的方式工作,因为文本视图的重绘由框架处理,并且通常会尝试将项目更新(特定的脏矩形)分组并一次更新所有内容。在你的功能退出后它可以做得很好,尝试用肉眼验证,这是最好的方法。