每个项目中带有 Switch 和 TextView 的自定义 ListView

Posted

技术标签:

【中文标题】每个项目中带有 Switch 和 TextView 的自定义 ListView【英文标题】:Custom ListView with Switch and TextView in each item 【发布时间】:2012-04-16 00:07:53 【问题描述】:

我想要一个自定义 ListView,其中包含一组用户可以订阅或取消订阅的队列。我的列表视图中的每个项目都应包含一个包含 TextView 和 Switch 的 RelativeLayout。我该如何填写此列表?

我有一个 JSON 对象数组,其中每个 JSON 对象都有一个名称和一个字符串值(无论该用户是否订阅了队列。所以:

qInfo[i].optString("name") 应该设置我的 TextView 的文本。

qInfo[i].optString("value") 应该设置我的 Switch 的状态。

queues_item:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/queuesLayout"
    android:layout_
    android:layout_
    >

    <TextView
        android:id="@+id/queues_item_text"
        android:layout_
        android:layout_
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <Switch
        android:id="@+id/queues_item_switch"
        android:layout_
        android:layout_
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:textOn="Tilmeldt" 
        android:textOff="Frameldt"/>

</RelativeLayout>

【问题讨论】:

【参考方案1】:

您可以只创建一个自定义适配器,然后扩展您的视图并使用输入的正确数据返回它。下面有一个示例链接,主要部分是实现 getView() 方法。

http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

【讨论】:

以上是关于每个项目中带有 Switch 和 TextView 的自定义 ListView的主要内容,如果未能解决你的问题,请参考以下文章

在 ConstraintLayout 换行问题中带有 drawableEnd 的 TextView

R中带有重复命令的Switch语句

Swift 中带有 tableView 或 TableViewController 的 UIViewController

迭代项目数量,自定义适配器

开关按钮ToggleButton和开关Switch

卡中带有标题项目和卡中剩余项目的 LazyColumn