首页 > 解决方案 > 上下文需要 FLAG_ACTIVITY_NEW_TASK 标志

问题描述

我有一个itemClickListener回收站视图,我想从中查看练习页面。

这是我的代码;

public void onBindViewHolder(@NonNull RecyclerViewHolder holder, int position) {

    holder.image.setImageResource(exerciseList.get(position).getImage_id());
    holder.text.setText(exerciseList.get(position).getName());

    holder.setItemClickListener(new ItemClickListener() {
        @Override
        public void onClick(View view, int position) {
            Intent intent = new Intent(context, ViewExercise.class);
            intent.putExtra("image_id", exerciseList.get(position).getImage_id());
            intent.putExtra("name", exerciseList.get(position).getName());
            context.startActivity(intent);
        }
    });

}

但是,它说上下文需要 FLAG_ACTIVITY_NEW_TASK 标志。

你能帮忙吗?

标签: androidsqliteandroid-activity

解决方案


context您使用的变量不是一个Activity(即,您使用getApplicationContext().

如果您从 Activity 中启动 Activity(就像RecyclerView单击一样,您应该使用 Activity 作为您的上下文,或者使用this, YourActivityClass.this,或者甚至只是使用附加到您的视图的上下文,view.getContext()而不是应用程序上下文.


推荐阅读