เมื่อมีการพัฒนาสำหรับAndroid
คุณสามารถตั้งค่าเป้าหมายของคุณ (หรืออย่างน้อย) SDK 4 (API 1.6) และเพิ่มแพคเกจเข้ากันได้ของหุ่นยนต์ (v4) Fragments
เพื่อเพิ่มการสนับสนุนสำหรับ เมื่อวานนี้ฉันทำสิ่งนี้และนำFragments
ไปใช้เพื่อแสดงภาพข้อมูลจากคลาสที่กำหนดเองได้สำเร็จ
คำถามของฉันคือสิ่งนี้มีประโยชน์อย่างไรในการใช้Fragments
เมื่อเทียบกับเพียงแค่รับ View จากออบเจ็กต์ที่กำหนดเองและยังรองรับ API 1.5
ตัวอย่างเช่นฉันมีคลาส Foo.java:
public class Foo extends Fragment {
/** Title of the Foo object*/
private String title;
/** A description of Foo */
private String message;
/** Create a new Foo
* @param title
* @param message */
public Foo(String title, String message) {
this.title = title;
this.message = message;
}//Foo
/** Retrieves the View to display (supports API 1.5. To use,
* remove 'extends Fragment' from the class statement, along with
* the method {@link #onCreateView(LayoutInflater, ViewGroup, Bundle)})
* @param context Used for retrieving the inflater */
public View getView(Context context) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.foo, null);
TextView t = (TextView) v.findViewById(R.id.title);
t.setText(this.title);
TextView m = (TextView) v.findViewById(R.id.message);
m.setText(this.message);
return v;
}//getView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (container == null) {
return null;
}
View v = inflater.inflate(R.layout.foo, null);
TextView t = (TextView) v.findViewById(R.id.title);
t.setText(this.title);
TextView m = (TextView) v.findViewById(R.id.message);
m.setText(this.message);
return v;
}//onCreateView
}//Foo
ทั้งสองวิธีนั้นง่ายมากในการสร้างและใช้งานกับกิจกรรมที่กล่าวว่ามีสิ่งที่List<Foo>
ต้องแสดง (ตัวอย่างเช่นการเพิ่มแต่ละรายการลงใน a โดยใช้โปรแกรมScrollView
) ดังนั้นFragments
ทั้งหมดนี้มีประโยชน์จริงๆหรือเป็นเพียงการทำให้เข้าใจง่ายมากเกินไปของ การดูเช่นผ่านรหัสด้านบน?