diesen Link finden Sie suchen Ergebnisse zurückzugeben, wenn ein Activity
zerstört wird, was Sie suchen sollten, ist: startActivityForResult.
Es gibt zwei Varianten von startActivityForResult()
, die bundle
als auch im Falle einer Notwendigkeit passieren lässt:
public void startActivityForResult (Intent intent, int requestCode)
public void startActivityForResult (Intent intent, int requestCode, Bundle options)
dieses Beispiel Siehe das Konzept besser zu verstehen:
MainActivity.java:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView1=(TextView)findViewById(R.id.textView1);
button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent, 2);// Activity is started with requestCode 2
}
});
}
// Call Back method to get the Message from other Activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
// check if the request code is same as what is passed here it is 2
if(requestCode==2)
{
String message=data.getStringExtra("MESSAGE");
textView1.setText(message);
}
}
SecondActivity.java:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
editText1=(EditText)findViewById(R.id.editText1);
button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String message=editText1.getText().toString();
Intent intent=new Intent();
intent.putExtra("MESSAGE",message);
setResult(2,intent);
finish();//finishing activity
}
});
}
Versuchen Sie, Extras an die vorherige Aktivität zurückzugeben? – cascal
'putExtra' ist nicht verwandt mit' finish() '. 'finish()' ist eine Methode zum Entfernen der aktuellen Aktivität. –
Suchen Sie nach einer Möglichkeit, das Ergebnis zurückzugeben? Wenn ja, sollten Sie nach "startActivityForResult" suchen. – Joshua