1

わかりましたので、getextrand putextra メソッドを使用して、あるアクティビティから別のアクティビティに値を渡したいと思います。

データを受け取りたい 2 番目のアクティビティでは、ボタンやテキスト ビューなどのコンテンツがいっぱいです。MainActivity から受け取った特定の値を特定のテキスト ボックスに設定したいと考えています。

setContenView(R.id.intent)

文字列を表示する最も簡単な方法ですが、この値を 1 つ以上のテキストビューに設定したい場合はどうでしょうか。私のコードはここにあります

主な活動

package com.prashant.cookbook;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;


public class MainActivity extends Activity {


static String Message_send="Prashant";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    EditText et=(EditText)findViewById(R.id.editText1);
    Button send=(Button)findViewById(R.id.send);

    final Intent msg_send= new Intent(this,Second.class);
    String MSG= et.getText().toString();
    msg_send.putExtra(Message_send, MSG);
    send.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            startActivity(msg_send);


        }
    });


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

セカンドアクティビティ

package com.prashant.cookbook;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;

public class Second extends Activity {

private TextView tv;
private Intent rcv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    tv = (TextView) findViewById(R.id.msg_show);
    rcv = getIntent();
    String Show_msg;
    Show_msg=rcv.getStringExtra(MainActivity.Message_send);
    tv.setText(Show_msg);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.second, menu);
    return true;
}

}

しかし、このコードを実行すると、空白の 2 番目のアクティビティしか得られず、デフォルトのテキストすらありません

4

1 に答える 1

2

ボタンのクリック時に EditText でユーザーが入力した値を取得し、次のようmsg_send.putExtraに Intent に値を配置するために使用します。

send.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

       String MSG= et.getText().toString();  //<< get value from EditText here
       msg_send.putExtra(Message_send, MSG);            
       startActivity(msg_send);
    }
});
于 2013-10-17T19:00:32.817 に答える