【问题标题】:How can I use a listview without extending ListActivity in my class?如何在课堂上不扩展 ListActivity 的情况下使用列表视图?
【发布时间】:2015-12-14 00:43:12
【问题描述】:

我有一个带有各种标签的应用程序(在标签主机上)。每个选项卡都是一个扩展活动的活动,上面有一些textfields 和一些东西。

现在,我需要我的选项卡包含在列表视图中,但在 Android 开发人员指南的示例中,您必须扩展 ListActivity 而不是 Activity。

基本上,我需要合并这两个教程:

如何在课堂上使用listview 而不扩展listactivity

我的 XML 文件:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp"/>
    </LinearLayout>
</TabHost>

【问题讨论】:

    标签: android listview


    【解决方案1】:

    几乎是一样的。基于ListView's tutorial

    而不是做:

    setListAdapter();
    

    执行以下操作:

    • 在布局中添加&lt;ListView&gt;
    • 在您的Activity private ListView mListView; 中创建一个字段变量

    onCreate() 方法上这样做:

     mListView = (ListView) findViewById(R.id.your_list_view_id);
     mListView.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));
    

    我不记得ListActivity 是否提供了更多内容。

    【讨论】:

    • 在我的布局的哪一部分我必须添加列表视图?
    • 好的,我把它放在框架布局中,但现在我有另一个问题:mListView = (ListView) findViewById(R.id.your_list_view_id);我找不到我的“your_list_view_id”...
    • 我的列表视图 ID 没有出现在我的 R 自动生成的文件 Ç:S
    • 在你的布局中(你在setContentView中使用的文件)需要有这个:&lt;ListView android:id="+@id/your_list_view_id" ...
    • 它有这个:
    【解决方案2】:

    您的 TabHost 也可以包含 ListActivity,因为它继承自 Activity

    但是,如果您想了解如何以任何方式在活动中添加列表视图,请按照这些说明进行操作。很简单,创建一个Activity,在您的XML 中添加一个Listview

    使用findViewById() 获取您的ListView

    【讨论】:

    • 我也在尝试使用这种方式,但我也遇到错误:11-09 19:13:43.678: ERROR/AndroidRuntime(936): Caused by: java.lang.RuntimeException: Your content 必须有一个 id 属性为 'android.R.id.list' 的 ListView
    • @AndroidUser99,当使用listactivity时,你的xml必须总是有一个id@android:id/list的listview
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    相关资源
    最近更新 更多