java - Android studio 处理多个用户。如何修改布局的可点击参数?

标签 java android xml android-studio

我是一名初学者开发人员,正在为不同用户的布局开发应用程序。 在此应用程序中,有两种用户,一种可以读取属性,另一种也可以读取和写入属性。

我必须在主布局中动态添加几行,为此我使用 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/

相关文章:

java - 服务器启动时违规类告诉我什么?

java - 如果仅使用 GET,则无法读取 Redis 值

java - 为什么私有(private) getter 方法会违反封装性,而缺少 getter 方法则不会?

xml - 为直接定义的属性或引用选择 XML 实例上的属性

java - for循环中的字符串比较

android - 操作栏颜色无论如何都不会改变?

android - 不可分配给 android.app.activity

android - 如何在android中的sdcard中创建文件夹

java - 如何在 XQuery 中抑制 XML 输出的缩进

sql - SQL Server 2008 查询中的 XML 数据类型