|
|
|
Android - สอบถามเรื่องส่ง Object ระหว่าง fragment กับ fragment ครับ |
|
|
|
|
|
|
|
คือว่าเมื่อ user คลิกรายการ ผมจะทำการเก็บตัวแปรต่างๆเก็บใน object ที่ชื่อว่า subObj
หนะครับ ถ้าหากว่า อีกคลาสหนึ่งต้องการที่จะใช้ object นั้นจะเรียกใช้ยังไงครับ
นี่เป็นโค้ตส่วน Onclick ครับ
Code (Android-Java)
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!subcourselist.get(position).isSelected()){
holder.subcourseSec.setBackgroundColor(Color.parseColor("#66cdaa"));
holder.subcourseExam.setBackgroundColor(Color.parseColor("#66cdaa"));
subcourselist.get(position).setSelected(true);
Toast.makeText(getActivity(),"You Choose: " +subcourselist.get(position).getsubName()+" Section: "+subcourselist.get(position).getsubSec(), Toast.LENGTH_SHORT).show();
//new
subObj[position].setSelected(true);
}
else{
//true
subObj[position].setSelected(false);
subcourselist.get(position).setSelected(false);
holder.subcourseSec.setBackgroundDrawable(null);
holder.subcourseExam.setBackgroundDrawable(null);
}
Bundle bundle = new Bundle();
bundle.putSerializable("MyData", subObj);
//System.out.println(subObj[position].getsubName());
}
});
ส่วนนี่เป็นคลาสที่ต้องการจะเรียกใช้ object จากคลาสด้านบนครับ
Code (Android-Java)
public class Commit extends Fragment {
SubSelected[] subObj;
ListView list;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_commit, container, false);
list = (ListView) rootView.findViewById(R.id.listviewsubcommit);
getlist();
//Log.e("division TEST", "" + subObj[0].getsubName());
return rootView;
}
private void getlist() {
Bundle bundle = getArguments();
subObj= (SubSelected[]) bundle.getSerializable("MyData");
//System.out.println(subObj);
}
}
ตอนนี้ผมเมื่อคลิกรายการปุ้บผมใช้
Bundle bundle = new Bundle();
bundle.putSerializable("MyData", subObj);
ในการส่ง
และใช้
Bundle bundle = getArguments();
subObj= (SubSelected[]) bundle.getSerializable("MyData");
ในการรับค่าเข้ามาซึ่งมัน ERROR อะครับ จริงๆแล้วมันต้องใช้วิธีการรับส่งยังไงหรอครับ
ปล.ขอบคุณมากครับสำหรับคำตอบ
Tag : Mobile, Android, Mobile
|
ประวัติการแก้ไข 2015-05-07 22:46:39 2015-05-07 22:47:09
|
|
|
|
|
Date :
2015-05-07 22:45:50 |
By :
d10s |
View :
1149 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|