我是一名初学者开发人员,正在为不同用户的布局开发应用程序。 在此应用程序中,有两种用户,一种可以读取属性,另一种也可以读取和写入属性。
我必须在主布局中动态添加几行,为此我使用 inflate 过程。
这里是行布局:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:onClick="sendMessage">
....
</androidx.constraintlayout.widget.ConstraintLayout>
现在我想根据用户的类型将可点击属性更改为 true/false。 (如果用户是写入用户,他可以单击布局来启动新 Activity 并修改行对象的属性)。 请注意,我想使用一个 Activity 来处理两个用户,因为通常我只需修改几个属性,例如 3 个可单击属性和 3 个可见属性。 所以我在 string.xml 中写入了这些字符串:
<string name="user_0_clickable">false</string>
<string name="user_1_clickable">true</string>
我想动态添加行并根据字符串“user_0_clickable”或“user_1_clickable”(登录后通过 Intent 传递)更改其可点击属性。 有可能吗?如果我必须更改很少的属性,这对于我的范围来说是最好的方法吗?
最佳答案
View 本身将具有可点击状态,因此在 Kotlin 中:
view.isClickable = false
或者在Java中:
view.setClickable(false);
基于 Activity 用户的逻辑。
关于java - Android studio 处理多个用户。如何修改布局的可点击参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58526877/