- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试用 CardView 填充我的 RecyclerView,CardView 使用 Android 数据绑定(bind)来设置属性,例如 TextView 中的文本。在未完成喷射的项目上,我想添加一个灰色覆盖层。但不幸的是,前景 android:foreground="@{viewModel.getState != State.FINISHED? @color/gray_transparent54 : null}">
没有应用。另一方面,如果我强制使用前景色 android:foreground="@grey_transparent54">
,它会正常工作。
xmlns:tools="http://schemas.android.com/tools">
<>
name="viewModel"
type="myProject.ListItemViewModel"/>
<>
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="phù hợp với cha mẹ"
android:layout_height="80dp"
card_view:cardCornerRadius="4dp"
android:foreground="@{viewModel.getState != State.FINISHED? @color/gray_transparent54 : null}">
<>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{viewModel.getName}"
tools:text="Name"
android:textColor="@color/color_text_primary"
android:textSize="24sp"/>
Cảm ơn trước.
câu trả lời hay nhất
除非您已经实现了像 getGetState()
Và getGetName()
这样的 getter,否则我认为您正在错误地访问您的 viewModel
字段。虽然你没有发布你的 ListItemViewModel
我怀疑你需要更接近于此的东西:
<>
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="phù hợp với cha mẹ"
android:layout_height="80dp"
card_view:cardCornerRadius="4dp"
android:foreground="@{viewModel.state != State.FINISHED? @color/gray_transparent54 : null}">
<>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{viewModel.name}"
tools:text="Name"
android:textColor="@color/color_text_primary"
android:textSize="24sp"/>
当您访问 @{viewModel.name}
时,数据绑定(bind)会自动在您的 ListItemViewModel
类中查找名为“getName()”的方法,“getState()”你访问 @{viewModel.state}
等
注意:虽然 UI 逻辑通常没问题,但要小心将业务逻辑放在您的 XML 中,因为它会限制您的灵 active 并使测试/调试更加困难。
还知道在使用三元 (?:
) 运算符时不能混合类型,因此在 color int 和 drawable 之间进行选择之类的操作将不起作用。但是,您可以使用自定义 BindingAdapter
方法轻松解决此问题,例如制作一个将您的 ListItemViewModel
作为参数的绑定(bind)适配器,并将您要设置的值类型的所有逻辑放在方法本身中。
关于Android:使用数据绑定(bind)的 CardView 前台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36084418/
Gần đây tôi đã thêm một số .gif vào /drawable để tôi có thể sử dụng chúng bằng các nút. Điều này hoạt động tốt (không có lỗi). Bây giờ khi tôi xây dựng lại/chạy ứng dụng của mình, tôi gặp lỗi sau: Error: Gradle: Execu
Có cách nào trong Android để trả lại đường dẫn tới dữ liệu bộ nhớ trong không? Tôi có 2 điện thoại thông minh Android (Samsung s2 và s7 edge) mà tôi đã cài đặt một ứng dụng. Tôi muốn sử dụng sqlit nằm trong đường dẫn này
Câu hỏi này đã có câu trả lời ở đây: Sự khác biệt giữa "?android:" và "@android:" trong bố cục android xml f
Tôi chỉ muốn biết sự khác biệt thực sự giữa điện thoại phát triển Android, điện thoại Android thông thường và điện thoại đã root Android. Chúng tôi không thể mua bộ công cụ phát triển từ các cửa hàng thực tế hoặc những nơi khác ngoài thị trường Android
Tôi đang cố gắng nâng cao dự án này kể từ khi cập nhật Gradle. Đây là một dự án nhóm và nó sử dụng plugin android-apt. Tôi đã thực hiện các thay đổi cú pháp cần thiết (biên dịch->triển khai và apt->bộ xử lý chú thích) nhưng trình biên dịch vẫn cho tôi biết rằng có
Tôi mới sử dụng Android và kotlin, vì vậy vui lòng giải quyết một vấn đề rất đơn giản! Tôi đã tạo một ứng dụng cơ bản bằng cách sử dụng các thành phần kiến trúc điều hướng, sử dụng thanh điều hướng ở dưới cùng và ba tùy chọn điều hướng. Mỗi tùy chọn điều hướng trỏ đến một đoạn dành riêng
Tôi hiện đang sử dụng SDK chính thức của Facebook dành cho Android. Tôi hiện đang sử dụng ứng dụng mẫu nâng cao nhưng tôi không biết cách làm cho ứng dụng này có được tường/luồng/trạng thái ứng dụng thay vì người dùng đã đăng nhập. Điều này có thể thực hiện được không? trong tình huống đó
Tôi gặp sự cố khi tải xuống tệp, tôi có thể tải tệp xuống trong trình giả lập nhưng nó không hoạt động trên điện thoại của tôi. Tôi đã xác định quyền truy cập Internet và ghi vào thẻ SD. Tôi có một tệp tài liệu trên máy chủ nếu người dùng nhấp vào tải xuống. Nó tải tập tin. Điều này hoạt động tốt trong trình mô phỏng nhưng
Câu hỏi này đã có câu trả lời ở đây: Sự khác biệt giữa trọng lực và bố cục_trọng lực trong Android là gì? (22 câu trả lời) Đóng 9
Bất cứ ai có thể cho tôi biết bộ nhớ cache của ứng dụng và bộ nhớ cache của ứng dụng là gì vì khi chúng ta nói về ứng dụng làm sạch bộ nhớ cache, khái niệm làm sạch bộ nhớ cache là làm sạch bộ nhớ cache của ứng dụng hoặc như bộ nhớ chính quản lý bộ nhớ, RAM, bộ nhớ cache là khác nhau và theo như tôi biết, chậm
Giả sử rằng ứng dụng Foo và Eggs nằm trên cùng một thiết bị Android. Một trong hai ứng dụng có thể nhận danh sách tất cả các ứng dụng trên thiết bị. Ứng dụng có thể biết liệu ứng dụng khác đã chạy chưa và đã chạy trong bao lâu? câu trả lời hay nhất
Tôi hơi bối rối, tôi chỉ thấy các ví dụ về việc chuyển từ Android sang PC hoặc từ Android sang PC. Tôi cần tạo một ứng dụng Android kết nối từ hai điện thoại (android) để trò chuyện video. Tôi đang suy nghĩ, tôi biết
Được sử dụng để khóa màn hình theo chương trình bằng Android. Tôi đã có một số ý tưởng hay từ các câu hỏi Stackoverflow trước đây về vấn đề này và tôi vẫn ổn, nhưng khi tôi chạy mã, không có ngoại lệ và không có lỗi. Ngoài ra, màn hình không bị khóa. Vui lòng nhập đoạn này
Văn bản: android:layout_alignParentStart Nếu đúng, làm cho cạnh bắt đầu của chế độ xem này khớp với cạnh bắt đầu
Tôi không biết sự khác biệt giữa hai thuộc tính và chiều cao này. Lấy TextView làm ví dụ, điều gì xảy ra nếu tôi đặt bố cục của nó thành quấn_content và chiều rộng của nó thành 50 nhúng? câu trả lời hay nhất
Mối quan hệ giữa hai thuộc tính này là gì? Nếu tôi có android:noHistory="true", thì có ích gì khi có android:finishOnTaskLaunch="true" không? Câu trả lời hay nhất giả định rằng ứng dụng của bạn có
Tôi là người mới và đang cố gắng hiểu mã XML sau: Nhìn vào tài liệu trên dev.android.com, nó cho biết "starStyle" là một hằng số trong R.attr, public static cuối cùng
Trong đoạn mã bên dưới, tại sao giao diện của nút radio thay đổi khi tôi đặt android:layout_width="fill_parent" và android:width="fill_parent" tôi đang nói
Thật khó để nói những gì để hỏi ở đây. Câu hỏi không rõ ràng, mơ hồ, không đầy đủ, quá rộng hoặc hùng biện và không thể trả lời hợp lý ở dạng hiện tại. Để được trợ giúp làm rõ vấn đề này để có thể mở lại, hãy truy cập Trung tâm trợ giúp.
Giả sử mình có một hàm fun myFunction(name:String, email:String){}, khi mình gọi hàm này là myFunction('Ali', 'ali@test.com ') thì sao
Tôi là một lập trình viên xuất sắc, rất giỏi!