+ Id);
// Tạo một đối tượng từ xa xem bằng cách sử dụng phù hợp // bố cục mục
RemoteViews rv = RemoteViews mới (context.getPackageName (), R.layout.my_media_widget_item_layout);
// Gán giá trị chiết xuất từ Cursor đến từ xa Lượt xem. rv.setImageViewUri (R.id.widget_media_thumbnail, uri);
// Gán các mục cụ thể điền vào Ý định thViews Nhà máy được thực thi, tiếp theo là các cuộc gọi siêu dữ liệu, bao gồm cả getCount, trước mỗi lần xem là tái tạo .
Ngoài ra, các kỹ thuật được sử dụng để cập nhật các ứng dụng Widget - làm thay đổi tốc độ làm tươi tối thiểu, sử dụng Intents, và thiết lập Báo động - cũng có thể được sử dụng để cập nhật Collection Xem Widgets; Tuy nhiên, họ sẽ làm cho toàn bộ Widget được tái tạo, có nghĩa là làm mới xem bộ sưu tập dựa trên dựa trên những thay đổi trong dữ liệu cơ bản được hiệu quả hơn.
Tạo ra một trận động đất Collection Xem Widget
Trong ví dụ này, bạn có thêm một Widget thứ hai đến động đất ứng dụng. Điều này sẽ sử dụng một Bộ sưu tập ListView dựa trên Xem Widget để hiển thị một danh sách của các trận động đất gần đây.
1. Bắt đầu bằng cách tạo ra một bố trí cho các Bộ sưu tập Xem Widget UI là một nguồn tài nguyên XML. Lưu file quake_collection_widget.xml trong res / thư mục bố trí. Sử dụng Layout Khung bao gồm List View để hiển thị các trận động đất và Text View để hiển thị khi bộ sưu tập trống:
t sẽ cư // Đang chờ xử lý mẫu Ý định quy định tại App Widget // cung cấp. Trong trường hợp này các mẫu Ý định rõ // một hành động ACTION_VIEW.
Ý định fillInIntent = new Intent (); fillInIntent.setData (uri);
rv.setOnClickFillInIntent (R.id.widget_media_thumbnail,
fillInIntent);
trở rv;
}
public int getViewTypeCount () {
// Các số định nghĩa quan điểm khác nhau để sử dụng.
// Đối với các nhà cung cấp nội dung, điều này sẽ gần như luôn 1. trở về 1;
}
hasStableIds public boolean () {
// ID Content Provider phải là duy nhất và vĩnh viễn. return true;
}
public void onDestroy () {
// Đóng Cursor kết quả. c.close ();
}
công RemoteViews getLoadingView () {
// Sử dụng xem tải mặc định. return null;
. Điều này thay thế linh hoạt hơn để lộ dữ liệu nhà cung cấp nội dung trên màn hình là một replace¬ment cho Live Folders, mà hiện nay đã được phản
Refreshing sưu tập của bạn Xem Widget
App Widget Manager bao gồm các phương pháp notifyAppWidgetViewDataChanged, cho phép bạn chỉ định ID widget (hoặc mảng các ID) để cập nhật, cùng với các định danh tài nguyên cho các Xem col¬lection trong widget rằng có tiềm ẩn nguồn dữ liệu đã thay đổi:
appWidgetManager.notifyAppWidgetViewDataChanged (appWidgetIds,
R.id.widget_stack_view);
Điều này sẽ gây ra xử lý onDataSetChanged trong Remote liên quan
đang được dịch, vui lòng đợi..
