0

我正在寻找一个类似于声音设置屏幕的列表视图屏幕(在内置的设置应用程序中,见下图),即我希望一些行有文本+复选框,其他行有文本+“弹出”按钮,某些行应该只有文本等。

实现这一目标的最佳方法是什么?

替代文字

4

2 回答 2

2

正如 Falmarri 所指出的,这不是 aListView而是PreferenceActivity.

如果你不能使用PreferenceActivity,最简单的方法是制作一个不同项目的列表,如果它们超出屏幕,就会滚动,就是在 aScrollView周围放置 a LinearLayout。你可以在这里阅读更多关于它的信息:http: //developer.android.com/reference/android/widget/ScrollView.html

下面是一个非常简单的例子:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:text="Some text label here" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
            />
            <Button
                android:text="A button to click"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
            />
        </RelativeLayout>
        <EditText
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="Perhaps an input field here"
        />
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:text="Some more text, and a check box" 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
            />
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
            />
        </RelativeLayout>
    </LinearLayout>
</ScrollView>

现在这个列表没有包含足够的项目来滚动,但是如果你继续向它添加更多的元素,它就会在它变得比屏幕大时开始滚动。

于 2010-10-18T20:35:55.927 回答
1

那不是列表视图,那是PreferenceActivity. 看一下 PrefereceActivity 类

http://developer.android.com/reference/android/preference/PreferenceActivity.html

如果您真的想为列表视图中的每一行提供不同的视图(这非常有效),您必须创建自己的扩展类BaseAdapter。在该getView()方法中,只需返回您要显示的视图。网上有很多例子。

于 2010-10-18T19:44:09.750 回答