jha*_*ane 4 android android-intent android-activity
doneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!imgUriList.isEmpty())
{
Intent intent = new Intent(getBaseContext(), createAdActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imgUriList);
startActivity(intent);
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是我在第二个活动中使用的代码,用于将额外内容发送到第一个活动。
我想在从第二个活动回来时保持第一个活动的原样。因此我使用了_SINGLE_TOP,CLEAR_TOP FLAGS。
没有标志它工作得很好。但是使用了 extras 后 extras 就变成空了。这是我在第一个活动中使用的代码。
@Override
protected void onResume() {
super.onResume();
Toast.makeText(this,"IN RESUME ",Toast.LENGTH_LONG).show();
imageUris = getIntent().getParcelableArrayListExtra(Intent.EXTRA_STREAM);
if(getIntent().hasExtra(Intent.EXTRA_STREAM)) {
if (!imageUris.isEmpty()) {
createAdViewPagerAdapter viewpager = new createAdViewPagerAdapter(this,imageUris);
photoViewer.setAdapter(viewpager);
}
}
}
Run Code Online (Sandbox Code Playgroud)
由于第一个活动还使用了从 MainActivity 发送的一些额外内容,因此我也覆盖了 onNewIntent() 方法。
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
Run Code Online (Sandbox Code Playgroud)
有了你,你就会得到处理 的意图参数所需的getIntent()旧内容。您可以使用它将更改返回的意图。为了确保任何进一步的调用都会返回最新的意图,请使用
.IntentonNewIntent()setIntent(intent)getIntent()getIntent()setIntent()
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
// Do further stuff here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
516 次 |
| 最近记录: |