来自另一个Activity的SetText()

时间:2013-02-16 19:05:42

标签: android android-activity android-edittext

我的MainActivity中有一个EditText。当用户单击NewFile活动时,此活动的布局是透明的,因此仍可以看到EditText。我希望能够从NewFile活动更新后台的EditText。这是我尝试过的,导致NullPointerException。我理解为什么这不起作用,但我能做些什么来获得我正在寻找的结果。

NewFile.java

protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.newfile);

        newet = (EditTextLineNumbers) findViewById(R.id.ide);
        newet.setText("Testing");
    }

3 个答案:

答案 0 :(得分:1)

你觉得它会如何起作用?如何访问不在您的活动布局中的视图..?说这是不可能的......

您可以使用布局的inflatter服务以及您的视图来获取以前布局的EditText

答案 1 :(得分:1)

您的背景EditText不是来自当前为用户设置的布局,因此您将获得例外。

关于更新用户界面,您可能需要做两件事。

  1. 将后台活动的处理程序传递给新的
  2. 将新视图设为对话框,而不是透明活动。
  3. 使用处理程序发送通知并相应地更新UI

答案 2 :(得分:1)

在NewFile活动中,有一个编辑文本覆盖你的透明editTextView(这个textview可能有一个透明的BG,这可能会让人觉得它在背景中),现在更新这个editTextView

一旦你回去,从这个edittext中获取数据(使用setActivityForResult和那些机制)并填写上一个活动。