Можно ли заполнить ListView с помощью TwoLineListItem? - PullRequest
1 голос
/ 15 июня 2011

Я пытаюсь создать ListView с элементами, которые имеют две строки текста, одна строка с более крупным шрифтом, чем другая. Мне кажется, мне нужен TwoLineListItem, но приложение вылетает всякий раз, когда я пытаюсь выполнить такое действие. Есть предложения?

<TableLayout 
android:id="@+id/tableLayout1" 
android:layout_height="match_parent" 
android:layout_width="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android">
<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:mode="twoLine"
>       
    <TextView android:id="@android:id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
/>

<TextView android:id="@android:id/text2"
    android:layout_width="fill_parent"
    android:layout_marginLeft="5dip"
    android:layout_height="wrap_content"
    android:layout_below="@android:id/text1"
    android:layout_alignLeft="@android:id/text1"
    android:textAppearance="?android:attr/textAppearanceSmall"
/>
</TwoLineListItem>
<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:mode="twoLine"
>       
    <TextView android:id="@android:id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
/>      
<TextView android:id="@android:id/text2"
    android:layout_width="fill_parent"
    android:layout_marginLeft="5dip"        
    android:layout_height="wrap_content"
    android:layout_below="@android:id/text1"
    android:layout_alignLeft="@android:id/text1"
    android:textAppearance="?android:attr/textAppearanceSmall"
/>
</TwoLineListItem>

1 Ответ

1 голос
/ 15 июня 2011

Я бы раздувал android.R.layout.two_line_list_item в вашем getView() методе и привязывал бы к этому ваши значения.Идентификаторы TextView в этом макете: android.R.id.text1 и android.R.id.text2.Ниже приведен пример getView (), который приближается к тому, что вы хотите.

        public View getView(int pos, View view, ViewGroup viewGroup) {
            if (view == null) {
                view = View.inflate(MyActivity.this, android.R.layout.two_line_list_item, null);
            }

            TextView text = (TextView) view.findViewById(android.R.id.text1);
            text.setText("Big Font Text");

            text = (TextView) view.findViewById(android.R.id.text2);
            text.setText("Small Font Text");
            return view;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...