ste*_*bdh 6 android android-intent android-activity onactivityresult
第一个Activity(EditCycle)调用第二个活动(EditChooseLists)
Intent i=new Intent(EditCycle.this,EditChooseLists.class);
startActivityForResult(i, RESULT_OK);
Run Code Online (Sandbox Code Playgroud)
第二个活动(EditChooseLists)就这样结束了
Toast.makeText(EditChooseLists.this, list.get(position), Toast.LENGTH_SHORT).show();
Intent i=new Intent();
i.putExtra("desc",content);
i.putExtra("content", list.get(position));
setResult(RESULT_OK,i);
finish();
Run Code Online (Sandbox Code Playgroud)
第一个Activity(EditCycle)将onActivityResult方法重写为this
@Override
public void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode, resultCode, data);
System.out.print("Test Result !");
String content=data.getExtras().getString("content");
System.out.println("result String"+content);
Toast.makeText(EditCycle.this,content, Toast.LENGTH_SHORT).show();
TextView t=(TextView)findViewById(R.id.tv_editcycle_cropLbl);
t.setText(content);
}
Run Code Online (Sandbox Code Playgroud)
然而,当第二个活动恢复时没有任何反应,控制台中没有任何东西,没有吐司,文本视图不变
我的结论是onActivityResult然后没有被调用
有人可以帮忙吗?
你的问题在这里:
startActivityForResult(i, RESULT_OK);
Run Code Online (Sandbox Code Playgroud)
因为RESULT_OK == -1传递负值作为第二个参数来startActivityForResult破坏方法本身的这个承诺(来自Android Developer文档):
void startActivityForResult(Intent intent,int requestCode)
requestCode
int:如果> = 0,当活动退出时,将在onActivityResult()中返回此代码.
| 归档时间: |
|
| 查看次数: |
3852 次 |
| 最近记录: |