제가 클릭이벤트로 modify액티비티의 리사이클러뷰에 있는 아이템들 전체를 mainactivity에 인텐트로 옮기려고 하는데 intent를 어떻게 작성해야할지 감도 안잡히네요 ㅎ;; 혹시 이런건 어떻게 해야할지 아시는분 계신가요
밑은 일단 시도해본 결과입니다 물론 되지는 않습니다
modify.java
public class modify extends AppCompatActivity {
private ArrayList<MainData> arrayList;
private MainAdapter mainAdapter;
private RecyclerView recyclerView;
private LinearLayoutManager linearLayoutManager;
Dialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.modify);
recyclerView = (RecyclerView)findViewById(R.id.rv);
linearLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayoutManager);
arrayList = new ArrayList<>();
mainAdapter = new MainAdapter(arrayList);
recyclerView.setAdapter((mainAdapter));
Button addbtn = (Button)findViewById(R.id.add);
addbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog = new Dialog(modify.this);
dialog.setContentView(R.layout.add_dialog);
showDialog();
}
});
Button enrollbnt =(Button)findViewById(R.id.enroll);
final EditText name = (EditText)findViewById(R.id.name);
enrollbnt.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
if(name == null){
intent.putExtra("name", "미정");
}
else{
intent.putExtra("name", name.getText().toString());
}
intent.putExtra("plan", arrayList);
startActivity(intent);
}
});
}
public void showDialog(){
dialog.show();
final EditText mTitle =(EditText) dialog.findViewById(R.id.mtitle);
final EditText mContext = (EditText) dialog.findViewById(R.id.mcontext);
final EditText begin =(EditText) dialog.findViewById(R.id.begin);
final EditText end =(EditText) dialog.findViewById(R.id.end);
final RadioButton h =(RadioButton) dialog.findViewById(R.id.h);
final RadioButton m =(RadioButton) dialog.findViewById(R.id.m);
final RadioButton l =(RadioButton) dialog.findViewById(R.id.l);
Button yes = (Button) dialog.findViewById(R.id.yes);
Button no = (Button) dialog.findViewById(R.id.no);
yes.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
String title = mTitle.getText().toString();
String ft = begin.getText().toString()+" ~ "+end.getText().toString();
String context = mContext.getText().toString();
MainData mainData;
if(h.isChecked()){
mainData = new MainData(R.drawable.h, title, ft, context);
}
else if(m.isChecked()){
mainData = new MainData(R.drawable.m, title, ft, context);
}
else{
mainData = new MainData(R.drawable.l, title, ft, context);
}
arrayList.add(mainData);
mainAdapter.notifyDataSetChanged();
dialog.dismiss();
}
});
no.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
}
}
main
package com.example.plannerapp;
public class MainActivity extends AppCompatActivity {
private ArrayList<MainData> arrayList;
private MainAdapter mainAdapter;
private RecyclerView recyclerView;
private LinearLayoutManager linearLayoutManager;
long now = System.currentTimeMillis();
Date date = new Date(now);
SimpleDateFormat sdfNow = new SimpleDateFormat("yyyy/MM/dd");
String formatDate = sdfNow.format(date);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView date = (TextView)findViewById(R.id.date);
date.setText(formatDate);
TextView name =(TextView)findViewById(R.id.name);
recyclerView = (RecyclerView)findViewById(R.id.rv);
linearLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayoutManager);
arrayList = new ArrayList<>();
mainAdapter = new MainAdapter(arrayList);
recyclerView.setAdapter((mainAdapter));
Intent intent = getIntent();
String planName = intent.getExtras().getString("name");
name.setText(planName);
arrayList =(ArrayList<MainData>) intent.getSerializableExtra("plan");
}
}