1

私の場合は少し特別なので、ここで説明します。私には2つのアクティビティがあります。最初は2つの編集と1つのボタンで、2つ目はボタンだけです。アクティビティ1でボタンを押すと、プログラムはテキスト編集からアクティビティ2に情報を意図的に送信し、アクティビティ2に表示します。アクティビティ2では、ボタンはアクティビティ1に戻るためだけのものであり、このように呼び出します。

    Button next = (Button) findViewById(R.id.button2);

    Intent myIntent = getIntent();
    String nume = myIntent.getStringExtra("nume");
    String prenume = myIntent.getStringExtra("prenume");
    next.setText(nume + " " + prenume);

    next.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent intent = new Intent();
            setResult(RESULT_OK, intent);
            finish();
        }

    });

初めて編集に情報を入力すると、アクティビティ2に問題なく表示されますが、アクティビティ1に戻って新しい値を入力すると、アクティビティ2の編集に最初に入力した値が表示されます。

したがって、問題は、2回目の試行から開始して、ボタン1を押してアクティビティ2に渡すたびに、インテントによって渡された編集が更新されないことであるように思われます。

4

2 に答える 2

6

を使用するextras Bundle方が良い考えのようです。このように実装します。

アクティビティ1

 Intent pass = new Intent(ACTION_NAME);
 Bundle extras = new Bundle();
 extras.putString("nume", NUME_VAL);
 extras.putString("prenume", PRENUME_VAL);
 pass.putExtras(extras);
 startActivity(pass);

アクティビティ2

public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     Bundle data = getIntent().getExtras();
     String nume = data.getStringExtra("nume");
     String prenume = data.getStringExtra("prenume");
}
于 2012-05-01T11:48:15.260 に答える
6

1番目から2番目に移動します。

Button next = (Button) findViewById(R.id.button2);
next.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        Intent intent = new Intent(getApplicationContext(),Second.class);
        intent.putExtra("Tag", "Value");
        startActivity(intent);
        finish();
    }

});

2番目から1番目:

 Button previous= (Button) findViewById(R.id.button);
 previous.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        Intent intent = new Intent(getApplicationContext(),First.class);
        startActivity(intent);
    }

});

作成に関する2番目のアクティビティ:

Intent i = getIntent();
String val = i.getStringExtra("Tag");
于 2012-05-01T11:51:19.277 に答える