使用捆绑的Object从RecyclerView.Adapter启动Activity

时间:2016-11-13 22:54:09

标签: android

我正在使用RecyclerView用我的对象“收入”填充CardViews。现在我需要CardView中的一个按钮来启动新的Activity并将该对象发送给它。

这是我的按钮在适配器中的onClickListener的一部分:

  holder.editButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            editAt(income);
        }
    });

public void editAt(Income income){
    Intent i = new Intent(context,IncomeAddActivity.class);
    Bundle bundle = new Bundle();

    // here I want to send that "income" object

    i.putExtras(bundle);
    startActivity(i);

}

有没有简单的方法可以做到这一点,或者我的方法是完全错误的?

2 个答案:

答案 0 :(得分:0)

您需要使您的类Income实现Serializable接口。然后你可以这样做:

Bundle bundle = new Bundle();
bundle.putSerializable("object", income);
intent.putExtras(bundle);
startActivity(i);

答案 1 :(得分:0)

  

您还可以使用“共享首选项”来存储和获取一些数据

SharedPreferences.Editor ed = mPrefs.edit();
         ed.putInt("view_mode", mCurViewMode);
         ed.commit();