2016-03-19 2 views
0

У меня есть файл макета xml (ListLayout.xml), где я создаю listView и хочу, чтобы этот макет отображался на фрагменте на main_activity_layout. поэтому перейдите к MainActivity_layout, и я добавил фрагмент, когда предлагается выбрать класс, который выбрал класс Listfrg, где я возвращаю layoutLayout.xml в методе OnCreateView, но ничего не показано почему?не может показать listView на фрагменте

ListLayout.xml

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <LinearLayout 
     android:id="@+id/progress_container_id" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center" 
     android:orientation="vertical" 
     android:visibility="gone" > 

     <ProgressBar 
      style="?android:attr/progressBarStyleLarge" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
    </LinearLayout> 

    <FrameLayout 
     android:id="@+id/list_container_id" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <TextView 
      android:id="@+id/empty_id" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:gravity="center" /> 

     <ListView 
      android:id="@android:id/list" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:drawSelectorOnTop="false" > 
     </ListView> 
    </FrameLayout> 
</FrameLayout> 

MainActivityLayout

<fragment 
     android:layout_width="162dp" 
     android:layout_height="match_parent" 
     android:name="com.example.pack2.t9ahbin.Listfrg" 
     android:id="@+id/fragment3" /> 

Класс Listfrg:

public class Listfrg extends ListFragment{ 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.frglist, container, false); 
    return view; 
} 

}

+1

ли ListLayout.xml или frglist.xml? Вы раздуваете frglist.xml. –

+0

это просто вопрос имен, я раздул правый, но я не вижу макета на фрагменте –

+0

Знаете ли вы, почему? –

ответ

0

ничего не показал, почему?

Поскольку в вашем списке нет данных.

Используйте адаптер ArrayAdapter или какой-либо вариант адаптера, поместите в него некоторые данные с помощью adapter.add и используйте listView.setAdapter. Фактически предоставлять данные в Listview.

Вы можете сделать это в onCreateView и использовать getListView() или это, чтобы получить ListView.

ListView listView = (ListView) view.findViewById(android.R.id.list); 

Адаптер - это контейнер данных для ListView. Без этого, как вы ожидаете отображать данные?

Кроме того, ваш пустой вид должен использовать android:id="@android:id/empty"


Это все хорошо освещена в AdapterViews