0

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

新文件.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");
    }
4

3 回答 3

1

你认为它会如何工作..?您如何访问不在您的活动布局中的视图..?说不可能...

您可以通过将布局充气服务用于您的布局并从您的视图中获取先前布局的 EditText

于 2013-02-16T19:09:22.477 回答
1

您的背景 EditText 不是来自当前为用户设置的布局,因此您遇到了异常。

关于更新 UI,您可能需要两件事。

  1. 将后台活动的处理程序传递给新的
  2. 将新的作为一个对话框而不是一个透明的活动。
  3. 使用处理程序发送通知并相应地更新 UI
于 2013-02-16T19:11:10.970 回答
1

在 NewFile 活动中,有一个覆盖透明 editTextView 的编辑文本(可能对此文本视图有一个透明的 BG,这可能会让人产生它在背景中的错觉),现在更新这个 editTextView

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

于 2013-02-16T19:12:55.067 回答