首先,我想道歉,我发现了许多类似于这个问题的答案,但我仍然无法让我的代码正常工作。我想在按下后退按钮后将字符串传递回父活动,然后在edittext中显示该信息。
代码:
(来自父母活动)
@Override
public void onClick(View v){
EditText editText1 = (EditText) findViewById(R.id.editText1);
EditText editText2 = (EditText) findViewById(R.id.editText2);
Intent i = new Intent(ComputeActivity.this, AddActivity.class);
i.putExtra("num1", editText1.getText().toString());
i.putExtra("num2", editText2.getText().toString());
startActivityForResult(i, 0);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (data == null) {
return;
}
result = data.getExtras().getString("string_result");
editTextResult.setText(result);
}
(来自儿童活动)
@Override
public void onBackPressed(){
super.onBackPressed();
Intent data = new Intent();
data.putExtra("string_result", result);
setResult(RESULT_OK, data);
finish();
}
答案 0 :(得分:2)
我解决了!!!试试这个:
在你的第一个活动中:
//To get ArrayList of ImagePath to Gallery_MainActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 300 && resultCode == RESULT_OK && data!=null){
if(data.getStringArrayListExtra("galleryToValidar") !=null)
{
this.imagePath=data.getStringArrayListExtra("galleryToValidar");
Toast toast = Toast.makeText(this, "[ "+data.getStringArrayListExtra("galleryToValidar").size()+" ]:Imagenes guardadas", Toast.LENGTH_SHORT); toast.show();
}
else
{
Toast toast = Toast.makeText(this, "No hay imagenes", Toast.LENGTH_SHORT); toast.show();
}
}
}
在第二项活动中:
/ ** *使用后退按钮传递意图 * /
public void onBackPressed(){
if(imagePath.size()!=0)
{
for(int i=0; i<imagePath.size(); i++){
auxImage.add(imagePath.get(i));
}
}
Intent myImage = new Intent();
myImage.putStringArrayListExtra("galleryToValidar",auxImage);
setResult(Activity.RESULT_OK,myImage);
finish();
super.onBackPressed();
}
这段代码完美无缺,祝你好运!