/ O projekte listview & scrollview - android, android-listview

O programe listview & scrollview - android, android-listview

Je to stará a stará otázka.Listview sa nachádza vo vnútri scrollview vedľa linearlayout. Možno existujú vlečné riešenia: 1.Dieť ho použite. 2. potvrďte výšku listview alebo urobte výšku dynamic.While, keď som kód týmto spôsobom, zistím, že zameranie je vždy na spodnej časti listview.And request.setFocus () donen "t práce ....

Ako s tým zaobchádzať?

odpovede:

2 pre odpoveď č. 1

Nemali by ste umiestniť zobrazenie zoznamu do aScrollView. Ak chcete zobraziť niečo nad alebo pod zoznamom a chcete ich listovať spolu, stačí použiť záhlavie hlavičky alebo päty. Príklad:

Obsah hlavnej obrazovky:

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

Zobrazenie päty (list_footer.xml)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"><!-- the footer content -->
</LinearLayout>

Pridanie päty do kódu: Pred nastavením adaptéra pre zoznam by ste to mali urobiť

 ListView listView = (ListView) view.findViewById(R.id.main_list);
View footer = LayoutInflater.from(getActivity()).inflate(R.layout.list_footer, listView, false);
listView.addFooterView(footer);

listView.setAdapter(yourAdapter);

0 pre odpoveď č. 2

ScrollView môže mať iba dieťa, Ak je tento Linearout skutočne potrebný (zvyčajne je to len držiteľ), mali by ste to urobiť:

<ScrollView>
<LinearLayout>
<ListView>
<!-- Blahblah -->
</ListView>
<LinearLayout>
<!-- Blahblah -->
</LinearLayout>
</LinearLayout>
</ScrollView>