cuốn sách gpt4 ai đã làm

Android TV: Nhấp vào mục RowsFragment không hoạt động trong một số trường hợp

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 20:01:39 26 4
mua khóa gpt4 Nike

Tôi đang phát triển một ứng dụng Android TV và gặp phải một vấn đề lạ liên quan đến trình nghe nhấp chuột của dự án: mọi thứ đều hoạt động tốt nhưng đôi khi nhấp chuột không lan truyền, rất có thể trình nghe nhấp chuột chưa được thiết lập.

我对 HàngMảnh Phân lớp, tôi hiển thị hình ảnh của mình với 6 hàng phần tử: điều này có nghĩa là mỗi hàng của lưới thực sự là một hàng trong bộ chuyển đổi, mặc dù các bức ảnh về mặt trực quan có cùng tháng. Xin vui lòng xem hình ảnh để hiểu rõ hơn.

nhập mô tả hình ảnh ở đây

Bây giờ vấn đề là: khi tôi khởi chạy ứng dụng và cuộn xuống, hàng đầu tiên không hiển thị trong hình trên (vì vậy hàng thứ tư, vì 3 hàng được hiển thị ở đây), không nhận được "nhấp chuột" của tôi, không có gì xảy ra. Điều này có thể cũng hoạt động cho các hàng 5, 6, ..., nhưng sau đó (tôi không nhận ra mẫu) các hàng bắt đầu có thể nhấp lại được (tức là 8, 9, ...) và 3 hàng đầu tiên luôn có thể nhấp được cũng vậy.

Nếu tôi cuộn lên lần nữa, những hàng không thể nhấp chuột đó lại xuất hiện trên màn hình và bây giờ chúng có thể nhấp vào được.

trong mảnh onTạo , tôi gọi:
setOnItemViewClickedListener(mới ItemViewClickedListener());
Theo tài liệu, điều này sẽ ghi đè trình nghe được đặt bởi một Chế độ xem mục duy nhất. Bạn cũng nên đặt một trình nghe thay vì hai: trên thực tế, tôi chỉ đặt cái này cho đoạn.

trong một mục hàng duy nhất Người trình bày lớp, tôi cố gắng sử dụng View's onCreateViewHolder Sau khi thêm trình nghe nhấp chuột, tôi phát hiện ra rằng sự cố xảy ra khi trình nghe này được gọi.

Vì vậy, có vẻ như trong một số trường hợp, toàn bộ trình nghe phân đoạn không ghi đè trình nghe Chế độ xem hoặc hoàn toàn không được đặt.

Điều khiến tôi lo lắng về vấn đề này là khi tôi đặt điểm dừng và dừng hoạt ảnh cuộn, tôi không thể tái tạo nó ở chế độ Gỡ lỗi.

Tôi đang sử dụng phiên bản Leanback mới nhất:

biên dịch 'com.android.support:leanback-v17:25.3.1'

Sự cố này có thể xảy ra trên Nvidia Shield TV (Android 7.0), chưa chắc chắn trên các thiết bị khác.

gia hạn: Cũng thú vị, khi không thể nhấp vào một mục trong một hàng, tôi muốn tất cả các mục trong cùng một hàng đều không thể nhấp được. Thay vào đó, trường hợp này không xảy ra, một số có thể nhấp được và một số thì không.

Cập nhật 2:Có vẻ nhưListRowPresenterItemBridgeAdapterphương pháponBind, trong một số trường hợp, nó đã được tìm thấygetOnItemViewClickedListenerTrả về null nên trình nghe nhấp chuột vào mục không được đặt. Điều này thật lạ vì người nghe là chính HàngMảnh cài đặt lớp và nó hoạt động tốt cho hầu hết các dự án, cũng như cho những dự án trong cùng dòng nơi nó không hoạt động.

Như một giải pháp thay thế, tôi đã tìm thấy giải pháp này: thêm Danh sáchHàngNgười thuyết trình Phân lớp và đặt trình nghe nhấp chuột giả cho nó.

lớp riêng GroupedListRowPresenter mở rộng ListRowPresenter {
GroupedListRowPresenter(int focusZoomFactor) {
siêu (tiêu điểmZoomFactor);
}

@Ghi đè
khoảng trống được bảo vệ trênBindRowViewHolder(RowPresenter.ViewHolder chủ, Mục đối tượng) {
super.onBindRowViewHolder(holder, item);

Holder.setOnItemViewClickedListener(new BaseOnItemViewClickedListener() {
@Ghi đè
public void onItemClicked(Presenter.ViewHolder itemViewHolder, Mục đối tượng, RowPresenter.ViewHolder
rowViewHolder, hàng đối tượng) {
Timber.d("Nhấp chuột vào mục từ trình nghe giả: điều này sẽ không bao giờ xảy ra!");
}
});
}
}

Tôi không hài lòng với điều này vì tôi thực sự không thích đặt trình nghe nhấp chuột trống ngay cả khi tôi biết nó sẽ bị ghi đè.

Cập nhật 3:Sự cố này cũng có thể xảy ra với ứng dụng mẫu được tạo bằng Android Studio, vì vậy, có vẻ như nó không liên quan đến lỗi trong mã của tôi. Để làm điều này, tôi đã báo lỗi:https://issuetracker.google.com/issues/62443122

Nếu bạn cũng bị ảnh hưởng bởi vấn đề này, vui lòng gắn dấu sao để được chú ý nhiều hơn, cảm ơn bạn.

câu trả lời hay nhất

Tôi gặp vấn đề tương tự nhưng đã cập nhật lên phiên bản thư viện hỗ trợ 25.4.0 đã giải quyết được vấn đề Lưu ý rằng bắt đầu với 25.4.0 bạn phải bao gồm

maven {
url "https://maven.google.com"
}

trong kho lưu trữ. Nhìn thấy Hỗ trợ thiết lập thư viện .

Về Android TV: Nhấp vào mục RowsFragment không hoạt động trong một số trường hợp, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/44049813/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress