Tôi có một ứng dụng máy tính bảng đang hoạt động mà hiện tôi đang cố gắng thực hiện công việc trên điện thoại. Trên bàn có hai đoạn trên màn hình một đoạn danh sách và một đoạn chi tiết. Khi trên điện thoại, phân đoạn danh sách xuất hiện và tạo một hoạt động mới khi nhấn một mục danh sách. Hoạt động này chỉ đơn giản là tạo ra các mảnh trong phương pháp onCreate()
và cam kết nó vào màn hình như sau.getView trả về null khi phân đoạn đã được tạo từ một hoạt động
// Place an DeallDetailsFragment as our content pane
DealDetailsFragment f = new DealDetailsFragment();
getFragmentManager().beginTransaction().add(android.R.id.content, f).commit();
getFragmentManager().executePendingTransactions();
Điều này vẫn hoạt động như mong đợi từ hoạt động này tôi cần nói chi tiết về tải và hiển thị. Trong lớp DealDetailsFragment của tôi, tôi có phương thức updateDeal()
cập nhật nội dung như sau.
if (deal==null) { // could be null if user presses the loading deals list item before it loads
return;
}
this.deal=deal;
if (dealTitle==null) { // get the view objects only once
holder = new ViewHolder();
holder.dealHeat=(TextView) getView().findViewById(R.id.dealDetails_heat_textView);
holder.dealPrice=(TextView) getView().findViewById(R.id.dealDetails_price_textView);
holder.dealRetailer=(TextView) getView().findViewById(R.id.dealDetails_retailer_textView);
holder.dealTitle=(TextView) getView().findViewById(R.id.dealDetails_title_textView);
holder.dealDesc=(TextView) getView().findViewById(R.id.dealDetails_desc_textView);
holder.goToButton= (LinearLayout) getView().findViewById(R.id.dealDetails_goToDeal);
holder.dealImage=(ImageView) getView().findViewById(R.id.dealDetails_imageView);
holder.postedBy=(TextView) getView().findViewById(R.id.dealDetails_poster_textView);
holder.datePosted=(TextView) getView().findViewById(R.id.dealDetails_date_textView);
getView()
sẽ trả về khi ứng dụng được chạy trên điện thoại chỉ có một đoạn được hiển thị.
Bất kỳ ý tưởng nào? Thật không may, không có nhiều ví dụ phân đoạn có sẵn trực tuyến.
Tại điểm nào trong vòng đời Fragment là phương thức updateDeal được gọi? –
Khi đoạn đã được tạo và được nạp. – bencallis
phương pháp cụ thể là gì? onCreate? onCreateView? băt đâu? onResume? –