アクティビティAからBに文字列を渡してから、AのアクティビティBからデータを取得します。そのため、startActivityForResult()を使用しました。常に「ISnotNull」を取得します。データを受信していますが、AcitivityBのテキストビューでそのデータを表示できません。コードを投稿しています。何が問題なのか教えてください。
アクティビティA(SendData):
Intent data= new Intent(SendData.this, RecieveData.class);
Bundle check = new Bundle();
check.putString("UmerData", cheese);
medt.setText(cheese);
data.putExtras(check);
startActivityForResult(data, 5);
アクティビティB(ReceiveData):
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.recievedata);
InitializeFoo();
if(getIntent()!=null)
{
rt1.setText("Is not Null");
//Bundle got = getIntent().getExtras();
//rt1.setText(got.getString("UmerData"));
}
}
PS:アクティビティBに変更を加えて、文字列を取得しているかどうかを確認しました。それでも「IsnotNull」と表示されています。これは、文字列を取得していないことを意味します。しかし、なぜこれが表示されないのかわかりません。コードは次のとおりです。
Bundle got = getIntent().getExtras();
String ss= got.getString("UmerData");
if(getIntent()!=null && ss==null )
{
//Bundle got = getIntent().getExtras();
//rt1.setText(got.getString("UmerData"));
rt1.setText("Is not Null");
}
これはアクティビティBにあります。
private void InitializeFoo() {
// TODO Auto-generated method stub
Rg = (RadioGroup) findViewById(R.id.RG);
rt1 = (TextView) findViewById(R.id.Rt1);
rt2 = (TextView) findViewById(R.id.Rt2);
rec = (Button) findViewById(R.id.Return);
Rg.setOnCheckedChangeListener(this);
rec.setOnClickListener(this);
}
ありがとう