我想创建一个可单击项目列表,如下所示:
val clickableViews: List<View> = listOf(box_one_text, box_two_text, box_three_text, box_four_text, box_five_text, constraint_layout)
其中box_xxx_text参数是不同项目的view-id。有谁知道怎么做吗?
box_xxx_text
v6ylcynt1#
由于必须添加预定义的元素,因此使用数组而不是列表更方便。
val array = arrayOf( "One", "Two", "Three")
创建ListView的第一步当然是在xml布局文件中定义ListView。
<ListView android:id="@+id/list_view" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
第二步是定义一个数组适配器来将数组插入到列表视图中。
val arrayAdapter: ArrayAdapter<*>
然后可以为listview创建一个变量,并将数组添加到其中
var mListView = findViewById<ListView>(R.id.list_view) arrayAdapter = ArrayAdapter(this, android.R.layout.layoutfilename, array) mListView.adapter = arrayAdapter
工作完成,希望有帮助!
g2ieeal72#
你可以尝试应用视图绑定,我认为这是最有效的方法…这个解决方案和其他几个变体在这里描述:https://github.com/udacity/andfun-kotlin-color-my-views/issues/11
zed5wv103#
你必须在build.gradlew(app)中导入kotlin-android-extensions插件步骤:第一步:build.gradlew(app):插件{... id 'kotlin-android-extensions' }第二次-同步项目与gradlew文件第三-在您的活动文件中(例如:MainActivity),现在可以使用库导入importKotlin.android.synthetic.main.activity_main.*;
3条答案
按热度按时间v6ylcynt1#
由于必须添加预定义的元素,因此使用数组而不是列表更方便。
创建ListView的第一步当然是在xml布局文件中定义ListView。
第二步是定义一个数组适配器来将数组插入到列表视图中。
然后可以为listview创建一个变量,并将数组添加到其中
工作完成,希望有帮助!
g2ieeal72#
你可以尝试应用视图绑定,我认为这是最有效的方法…
这个解决方案和其他几个变体在这里描述:
https://github.com/udacity/andfun-kotlin-color-my-views/issues/11
zed5wv103#
你必须在build.gradlew(app)中导入kotlin-android-extensions插件
步骤:第一步:build.gradlew(app):插件{... id 'kotlin-android-extensions' }
第二次-同步项目与gradlew文件
第三-在您的活动文件中(例如:MainActivity),现在可以使用库导入
importKotlin.android.synthetic.main.activity_main.*;