0

を使用して「新しいファイル」アクティビティを作成しました

startActivityForResult(new Intent(MainActivity.this, NewFile.class),1);

NewFileアクティビティを使用すると、ユーザーはテキストファイルに特定のオプションを設定できます。ボタンをクリックすると、文字列がStringBuilderクラスの静的変数に保存されてfinish()になります。と呼ばれます。この新しい文字列をMainActivityのEditTextにロードするにはどうすればよいですか?onCreate()は、アクティビティが最初に作成されたときにのみ呼び出されますか?

4

3 に答える 3

1

onResume または onActivityResult で実行します。startActivityForResult を使用したので onActivityResult が理想的ですが、他のアクティビティを終了する前に、返送する意図がある場合、または setResult(int resultCode) がない場合は setResult(int resultCode, Intent data) を設定します。EditText を更新するために使用される文字列をインテントに余分に入れ、その文字列を使用して onActivityResult メソッドでテキストを設定する方が良いと思います。

于 2013-02-21T23:18:13.347 に答える
0
@Override
    protected void onResume() {
        super.onResume();
        et.setText(DocumentBuilder.docText);
    }
于 2013-02-21T23:11:58.720 に答える
0

あなたのクラスでNewFile.java

String strName = "toto";
Intent intent = new Intent();
intent.putExtra("name", "toto");
setResult(1, intent);
finish();

あなたのMainActivity.java

@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 1) {
      if (resultCode == RESULT_OK) {
          // Handle successful result
          String name  = intent.getStringExtra("name");
          editText.setText(name);
      }
    }
}

詳細については、このチュートリアルを参照してください

于 2013-02-22T00:12:24.657 に答える