Khi phát triển cho Android
, bạn có thể đặt sdk mục tiêu (hoặc tối thiểu) của mình thành 4 (API 1.6) và thêm gói tương thích android (v4) để thêm hỗ trợ Fragments
. Hôm qua tôi đã làm điều này và triển khai thành công Fragments
để trực quan hóa dữ liệu từ một lớp tùy chỉnh.
Câu hỏi của tôi là: lợi ích của việc sử dụng thay Fragments
vì chỉ nhận được Chế độ xem từ một đối tượng tùy chỉnh và vẫn hỗ trợ API 1.5 là gì?
Ví dụ: giả sử tôi có lớp 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
Cả hai phương pháp đều rất đơn giản để tạo và làm việc với một Hoạt động, chẳng hạn như có List<Foo>
hiển thị (ví dụ: thêm từng phương pháp vào a ScrollView
), vì vậy, Fragments
tất cả những điều đó có thực sự hữu ích hay chúng chỉ là sự đơn giản hóa quá mức của nhận được một Chế độ xem, chẳng hạn như thông qua đoạn mã trên?