Как я могу раздуть объект ListView

#android #android-widget

#Android #android-виджет

Вопрос:

Экземпляр ListView является частью макета.

     <TabWidget android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0"
    />
    <FrameLayout android:id="@android:id/tabcontent"
                 android:layout_width="fill_parent"
                 android:layout_height="fill_parent">

        <LinearLayout android:id="@ id/launch"
                      android:orientation="vertical"
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content">
               <ListView android:id="@ id/resultlist"
                         android:layout_width="fill_parent"
                         android:layout_height="fill_parent"
                         android:footerDividersEnabled="true" >
               </ListView>                        
               <Button android:id="@ id/start"
                       android:text="Predict!"
                       android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
               />
        </LinearLayout> 
        ...

    </FrameLayout>
</LinearLayout>
  

Я хотел бы раздуть элемент с id = resultlist. Конечно, я разработал специальный адаптер и макет для строки содержимого ListView. Код выглядит следующим образом

     ListView view = (ListView) findViewById(R.id.resultlist);
    MyAdapter adapter = new MyAdapter(
         new MyItem(R.drawable.class_01, "AUTO", 1, 0.0f),
         new MyItem(R.drawable.class_02, "BUS", 2, 0.0f),
    );
    view.setAdapter(adapter);
    setContentView(view);
  

Но это работает неправильно. Я ничего не вижу на устройстве. (Я уверен, что должен где-нибудь здесь использовать свой XML-макет для ListView string и LayoutInflater instance, но где ???)

Спасибо.

Ответ №1:

Вы где-нибудь вызываете «setContentView» для всего макета activity? Если нет, это, вероятно, объясняет проблему.