如何覆盖或添加自定义布局到android.R.layout.simple_list_item_activated_1

时间:2014-11-20 18:53:30

标签: android android-layout android-fragments android-listfragment

我按如下方式设置了一个列表适配器,如果我只是为lv_layout更改simple_list_item_activated_1,它根本不起作用。

任何想法?。

谢谢!

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(
            getActivity(),
            android.R.layout.simple_list_item_activated_1,
            android.R.id.text1,
            DummyContent.ITEMS));
}

如何将名为lv_layout的自定义布局附加到该适配器?

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:id="@+id/lv_layout"

    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/flag"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:paddingRight="10dp"
        android:paddingBottom="10dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15sp" />

        <TextView
            android:id="@+id/size"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="12sp" />

        <TextView
            android:id="@+id/resolution"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="12sp" />

    </LinearLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

为什么要使用setlistadapter呢?在这种情况下你也必须创建你的自定义适配器,因为serlistapater只会更新自定义布局的textview部分,而休息部分它会忽略哪个idont认为你想要什么。所以 1.制作习惯用品 2.覆盖其getview 3.将适配器设置为自定义布局。 干杯

答案 1 :(得分:0)

android.R.*是Android的内部资源。

要使用res/layout/中自己的布局,请跳过android前缀:

R.layout.lv_layout

同样适用于ids(如果你想知道的话)。