2016-11-13 26 views
0

我正在使用RecyclerView以我的对象“收入”填充CardViews。现在我需要CardView中的其中一个按钮来启动新的Activity并将该对象发送给它。从RecyclerView.Adapter与绑定对象开始活动

下面是我的转接器按钮的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); 

} 

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

+0

我可以尝试捆绑只是一个位置,并以某种方式从父母送我的列表活动,但我不知道这是否是“良好的做法” – AndroidBegginer

回答

0

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

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

就是这样?哇谢谢 – AndroidBegginer

0

您还可以使用共享偏好来存储和获取一些数据

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