有时,操作系统可能会终止您的活动并保存其状态并再次恢复。我将带有PagerAdapter的viewPager设置为我的活动,我想用新的adpater实例创建一个新实例,而不是从任何恢复状态创建。
这是我开始活动的方式:
Intent intent = PicturActivity.Builder(getContext(), Tools.APPLICATION, position);
startActivityForResult(intent, REQUEST_CODE_GALERY);
在PictureActivity中:
public static Intent Builder(@NonNull Context context, @Tools.ObjectLocation int listLocation, int position) {
Intent intent = new Intent(context, PictureActivity.class);
intent.putExtra(KEY_EXTRA_POSITION, position);
return intent;
}
答案 0 :(得分:1)
您可以像这样启动活动
@Override
public void onBindViewHolder(RecyclerViewHolders holder, int position) {
holder.setClickListener(new ItemClickListener() {
@Override
public void onClick(View view, int position, boolean isLongClick) {
Intent intent = new Intent(view.getContext(), PictureActivity.class);
intent.putExtra(KEY_EXTRA_POSITION, position);
view.getContext().startActivity(intent);
}
});
}
答案 1 :(得分:0)
您可以覆盖此回调。
@Override
protected void onSaveInstanceState(Bundle outState) {
}
并且不要调用超级类方法。
或强>
<activity
android:name=". PictureActivity"
android:configChanges="keyboardHidden|orientation|screenSize">
</activity>
答案 2 :(得分:0)
我相信你需要做的就是设置旗帜。我认为你的选择是
startActivityForResult(intent,REQUEST_CODE_GALERY,Intent.FLAG_ACTIVITY_CLEAR_TASK)
或
startActivityForResult(intent,REQUEST_CODE_GALERY,Intent.FLAG_ACTIVITY_NO_HISTORY)