java - 使用 Arraylist 将图标添加到 Listview
问题描述
我已经成功创建了一个包含所有选项(文本)的列表视图。但是,我想在每个选项旁边添加独特的图标。我该如何使用我的删除代码来执行此操作?
这是我想要实现的目标:
这是我的代码:AccountSettingsActivity.java
//All Options in Account Settings
private void setupSettingsList(){
ListView listView = findViewById(R.id.lvAccountSettings);
ArrayList<String> options = new ArrayList<>();
options.add(getString((R.string.editProfile)));
options.add(getString(R.string.notifications));
options.add(getString(R.string.privacy_settings));
options.add(getString(R.string.security));
options.add(getString(R.string.ads));
options.add(getString(R.string.help));
options.add(getString(R.string.about));
options.add(getString(R.string.logout));
ArrayAdapter adapter = new ArrayAdapter(mContext, R.layout.listview_row_adjustment, options);
listView.setAdapter((adapter));
}
listview_row_adjustmnet.xml(这只是更改列表视图中选项的文本颜色和大小)
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listViewAdjustment"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:textSize="17sp"
android:gravity="fill"
android:textColor="@color/white"/>
解决方案
首先,您必须添加您的 listview_row_adjustmnet.xml。
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_gravity="center_horizontal|top"/>
<TextView
android:id="@+id/listViewAdjustment"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:textSize="17sp"
android:gravity="fill"
android:textColor="@color/white"/>
对于代码 AccountSettingActivity 类:
private void setupSettingsList(){
ListView listView = findViewById(R.id.lvAccountSettings);
ArrayList<String> options = new ArrayList<>();
options.add(getString((R.string.editProfile)));
options.add(getString(R.string.notifications));
options.add(getString(R.string.privacy_settings));
options.add(getString(R.string.security));
options.add(getString(R.string.ads));
options.add(getString(R.string.help));
options.add(getString(R.string.about));
options.add(getString(R.string.logout));
ArrayList<ImageView> images = new ArrayList<>();
//Please add Customized addapter
}
对于自定义适配器,您可以在此链接https://www.youtube.com/watch?v=_YF6ocdPaBg中找到帮助。
要在代码中设置 ImageView 请参阅此答案Using variable to change image in Java。
推荐阅读
- javascript - 使用 Javascript / React 中的格式规则对象的条件样式格式
- python - 根据字典列表中的特定字典键检测和删除重复项
- python - 根据标准在熊猫中显示列
- regex - 将短语中的每个单词与另一个单元格匹配
- ibm-cloud - 如何在 IBM 云中将对象存储从一个实例迁移到另一个实例?
- uml - 如何在活动图中表示可从多个泳道获得的动作?
- r - dplyr 从 A 列到 D 列选择列以及介于两者之间的所有内容?
- math - 带有两个位置参数的“clamp”是一种常见的约定吗?
- jquery - select2 下拉列表中的换行符
- pine-script - 无法发布我的第三个脚本 Pine-script 外部链接错误