android textview没有改变文本

时间:2012-09-12 19:07:23

标签: android

我有一个textview,它应该在intent(directorypicker)完成后更改文本。这不起作用。 继承人代码:

text = (TextView) findViewById(R.id.choose3);
        text.setText(globalconstant.path);
当intent返回路径时,

应该更改文本:

private void addListenerOnButton() {
        choose_button = (Button) findViewById(R.id.button1);
        choose_button.setEnabled(true);
        choose_button.setOnClickListener(new OnClickListener() {
            public void onClick(View arg0) {
                // DirectoryPicker.START_DIR = "/mnt/";
                Intent intent = new Intent(settings.this, DirectoryPicker.class);
                startActivityForResult(intent, DirectoryPicker.PICK_DIRECTORY);
                // text.setText(globalconstant.path);
                text = (TextView) findViewById(R.id.choose3);
                text.setText(globalconstant.path);
                ;

            }
        });

    }
它有什么不对吗? 请帮我! 非常感谢你

3 个答案:

答案 0 :(得分:3)

您可能应该更改onActivityResult

中的文字

答案 1 :(得分:0)

首先测试您是否编写代码,将text.setText(globalconstant.path);替换为text.setText("Test message");是否有效。

然后您可以添加Log.d("TestAfterStartAct", "Test Message")打开突击队列并运行adb logcat以显示来自手机的日志。尝试注意代码运行时,在新活动显示之前/之后/之后永远不会显示?

如果编辑不是来自UI线程,有时你可能会因为没有更新GUI部分而得到错误,请为你text.postInvalidate()调用以更新textview的GUI。

详细了解What does postInvalidate() do?

答案 2 :(得分:0)

我遇到了同样的问题。对我来说,问题是在调用onActivityResult之后调用onStart。在onStart中,我正在使用默认值为视图创建一个新的文本视图。

在我的情况下,我通过保存onActivityResult中的值来解决它,然后在onStart函数中应用这些值。
-James