Ahm*_*man 5 java android android-studio
我需要检查 onResume() 是否因为活动第一次启动(第一种情况)而被调用,还是因为使用 startActivityForResult 后的结果返回(第二种情况)而被调用。
我需要知道,因为如果案例是案例 2,我需要滚动到特定视图,如果案例是案例 1,我需要正常启动活动。
那么我应该使用的 if 条件是什么?
如果您正在使用startActivityForResult()则无需监听onResume()被呼叫。它有一个回调方法,您可以根据您的情况编写滚动代码。
例如:
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1); //here 1 is the request code
Run Code Online (Sandbox Code Playgroud)
在 SecondActivity 中设置要返回到 FirstActivity 的数据。如果您不想返回,请不要设置。
例如:在 SecondActivity 中:
Intent returnIntent = new Intent();
setResult(Activity.RESULT_OK,returnIntent);
finish();
Run Code Online (Sandbox Code Playgroud)
现在,在您的 FirstActivity 类中为 onActivityResult() 方法编写以下代码。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK){
//case 2
//Write your code
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
562 次 |
| 最近记录: |