开始新的清洁活动

时间:2017-08-15 14:07:18

标签: android android-activity state clear

有时,操作系统可能会终止您的活动并保存其状态并再次恢复。我将带有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;
    }

3 个答案:

答案 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)