【问题标题】:Proper format for custom ListActivity layouts自定义 ListActivity 布局的正确格式
【发布时间】:2010-11-17 08:59:43
【问题描述】:

我正在尝试将标题添加到在 ListActivity 中声明的 ListView 的顶部,并且我正在尝试使用在 LinearLayout 中包含 ListView 并将列表视图标识为 @android:id/list 的方法.

我收到 java.lang.UnsupportedOperationException: addView(View, LayoutParams) 在 AdapterView 中不受支持

在活动中调用 setContentView() 之后。我似乎找不到问题,我认为它与格式或其他东西有关,有人可以帮助我吗?

这里是xml:

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:padding="0dip">
    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_marginRight="6dip"/>

<LinearLayout
       android:orientation="vertical"
        android:layout_width="224dip"
        android:layout_weight="1"
        android:layout_height="fill_parent"
        android:layout_marginRight="20dip">
        <TextView
            android:id="@+id/toptext"
            android:layout_width="fill_parent"
            android:singleLine="true"
            android:layout_height="0dip"
            android:layout_weight="1"
            android:gravity="center_vertical"
            android:textStyle="bold"
            android:textSize="21sp"
            android:textColor="@color/white"/>

<TextView
            android:layout_width="fill_parent"
            android:layout_height="0dip"
            android:layout_weight="1"
            android:id="@+id/bottomtext"
            android:textSize="19sp"
            android:textStyle="italic"
            android:maxLines="1"/>
    </LinearLayout>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="100dip"
        android:layout_weight="1"
        android:layout_height="fill_parent">
        <TextView
            android:id="@+id/toprighttext"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:textSize="18sp"
            android:gravity="top"
            android:textColor="@color/blue"
        />
        <TextView
            android:id="@+id/bottomrighttext"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:textSize="18sp"
            android:gravity="bottom"
            android:textColor="@color/red"
        />
    </LinearLayout>
</LinearLayout>
</ListView>
</LinearLayout>

【问题讨论】:

    标签: android xml layout listactivity


    【解决方案1】:

    您可以通过在布局中使用单独的 header.xml 来获取它,在您的活动中的 oncreate 方法中添加前三行代码,如下所示

            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);          
            getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
            R.layout.brupress_header);
            tv = (TextView) findViewById(R.id.brupress_header_text);
            tv.setText("Header");
            setContentView(R.layout.list_layout);
    

    希望对你有帮助。

    【讨论】:

    • 我是否仍然调用 setContentView 或使用 .getListView(),因为我正在扩展 ListActivity?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多