3

重複の可能性:
Android のアクティビティ間でデータを渡すにはどうすればよいですか?

私は2つのアクティビティAとBを持っています。アクティビティAには1つのeditTextとボタンがあります。アクティビティBにはeditTextがあり、AのeditTextに何かを入力してボタンをクリックすると、editText2に表示されます。誰でもこのコードを提供できますか。

前もって感謝します !!!

4

4 に答える 4

17

あなたが2つのアクティビティクラスを書いたと仮定します:ActivityAActivityBとあなたがonClickListenerのボタンのを書いたと仮定しますActivityA

2つのアクティビティ間でデータを渡すには、アクティビティを開始するIntentクラスを使用する必要があります。また、ActivityBのstartActivityの直前に、Extraオブジェクトを介してデータを入力できます。あなたの場合、それはeditTextのコンテンツになります。

ActivityA onClickListener

Intent i = new Intent(getBaseContext(),ActivityB.class);

//Set the Data to pass
EditText txtInput = (EditText)findViewById(R.id.txtInput);
String txtData = txtInput.getText().toString();
i.putExtra("txtData", txtData);

startActivity(i);

これで、ActivityBで、onCreateにコードを記述して、それを起動したインテントを取得し、渡されたデータを抽出できます。

ActivityB onCreate

Intent i = getIntent();
//The second parameter below is the default string returned if the value is not there. 
String txtData = i.getExtras().getString("txtData","");
EditText txtInput2 = (EditText)findViewById(R.id.txtInput2);
txtInput2.setText(txtData);

お役に立てれば。

于 2012-07-03T03:15:20.383 に答える
5

アクティビティBを開始するときに、インテントエクストラでデータを送信します。

アクティビティAで、アクティビティBを開始するとき、

Intent activityBstartIntent = new Intent(getApplicationContext(), ActivityB.class);
activityBstartIntent.putExtra("key", editTextA.getText().toString());
startActivity(activityBstartIntent);

そして、ActivityBのonCreate()でこれを行います

if(getIntent().getExtras() != null) {
editTextB.setText(getIntent().getExtras().getString("key");
}

お役に立てば幸いです。

于 2012-07-03T03:05:17.833 に答える
3

インテントを使用することで、アクティビティなどのコンポーネント間でデータを渡すことができます。ボタンをクリックした最初のアクティビティでは、このデータを2番目のアクティビティに送信するように書き込む必要があります。

Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);

EXTRA_MESSAGEは、アクティビティ内の文字列定数です。

そして2番目のアクティビティでは、このようなメッセージが表示されます

インテントインテント=getIntent();

文字列メッセージ=intent.getStringExtra(MyFirstActivity.EXTRA_MESSAGE);

ここでは非常に明確に説明されています。

于 2012-07-03T03:06:12.987 に答える
0

はい、誰かがこれのコードを提供できます。Google はそれを多くのチュートリアルやサンプル コードの主題にさえしました。Intentsについて読んでみてください。

于 2012-07-03T03:02:48.203 に答える