2011-06-28 19 views
9

Próbuję utworzyć listę elementów, które zawierają obraz i opis dla każdego obrazu. Następnie lista zostanie umieszczona wewnątrz aplikacji. Czy każdy może mnie poprowadzić, aby go stworzyć? Nie jestem zbyt pewny, jak mogę to zrobić bez ListActivity.Android ListView w Fragment

Odpowiedz

43

Wygląda na to, że twój Fragment powinien podklasować ListFragment (nie ListActivity). onCreateView() z ListFragment zwróci ListView, którą możesz następnie wypełnić.

Oto więcej informacji na listach zamieszkują od przewodnika autorów: Hello, ListView

+22

Jeśli ta odpowiedź jest pomocna, a następnie oznaczyć jako odpowiedź i zakładać nowe pytanie do nowego problemu, że ktoś może pomóc. –

16

Oto fragment kodu, które pomogą Ci wyświetlić ListView we fragmencie .:

public class MessagesFragment extends ListFragment { 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_messages, container, 
      false); 

    String[] values = new String[] { "Message1", "Message2", "Message3" }; 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 
     android.R.layout.simple_list_item_1, values); 
    setListAdapter(adapter); 
    return rootView; 
} 
} 

A oto jak xml wyglądałby jak:

<ListView 
    android:id="@android:id/list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 
</ListView> 

Jeśli nie używać „list” jako ID lub nie zawierają ListView w układzie, awarii aplikacji raz spróbować aby wyświetlić aktywność lub fragment.

referencyjny: http://www.vogella.com/tutorials/AndroidListView/article.html#listfragments

+0

upewnij się, że nie wrap_content w ListView dla layout_height, zamiast fill_parent lub match_parent.http: //stackoverflow.com/questions/11295080/android-wrap-content-is-not-working-with-listview –