In my project, ActivityTwo is launched as a sub-activity of ActivityOne, which has, in turn, been modified to handle data returned from ActivityTwo.
TextView in ActivityOne should retrieve the text entered into the EditText added to intent object as a key-value in ActivityTwo. Despite of the successful launch, it does not extract the intent object.
I looked through the possible similar problems faced and came through this: How to manage `startActivityForResult` on Android?
Yet, I still could not figure out why my TextView cannot set the text extracted from intent object retrieved from the second activity.
Any useful help appreciated.
Thanks in advance Below you can see the codes:
ActivityOne:
public class ActivityOne extends AppCompatActivity {
private static final int REQUEST_CODE = 1;
EditText isimAlani, soyadiAlani;
TextView tlfNo;
Button btnIleri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
isimAlani = (EditText) findViewById(R.id.isimalani);
soyadiAlani = (EditText) findViewById(R.id.soyadialani);
tlfNo = (TextView) findViewById(R.id.tlfno);
btnIleri = (Button) findViewById(R.id.btnileri);
btnIleri.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(ActivityOne.this, ActivityTwo.class);
i.putExtra("isim", isimAlani.getText().toString());
i.putExtra("soyisim", soyadiAlani.getText().toString());
startActivityForResult(i, REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if ((requestCode == REQUEST_CODE) && (requestCode == RESULT_OK)) {
String result = data.getExtras().getString("returnData");
tlfNo.setText("Telefon numaranız: " + result);
}
}
}
ActivityTwo:
public class ActivityTwo extends AppCompatActivity {
EditText tlfNoAlani;
TextView tvAdSoyad;
Button btnGeri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
tlfNoAlani = (EditText) findViewById(R.id.tlfnoalani);
tvAdSoyad = (TextView) findViewById(R.id.tvadsoyad);
btnGeri = (Button) findViewById(R.id.btngeri);
Bundle extras = getIntent().getExtras();
if (extras != null) {
tvAdSoyad.setText("Merhaba " + extras.getString("isim") + " " + extras.getString("soyisim"));
}
btnGeri.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data = new Intent();
String returnString = tlfNoAlani.getText().toString();
data.putExtra("returnData", returnString);
setResult(RESULT_OK, data);
finish();
}
});
}
}