Frage an scrollview, android – Android, Wie man ScrollView zum Bildschirm hinzufügt, der einige Listenelemente enthält?

2

In meiner Tätigkeit habe ich drei Listen. Nach dem Ausführen der Anwendung kann der Bildschirm nicht gescrollt werden. Ich kann die Liste scrollen, die über anderen liegt, aber ich kann nicht die ganze Seite scrollen. Ich habe versucht hinzuzufügenScrollView In meinem XML-Layout sagt Lint jedoch, dass "die vertikal scrollende ScrollView kein anderes vertikal scrollendes Widget (ListView) enthalten sollte".

Wie kann ich meinen Bildschirm scrollbar machen?

Deine Antwort

5   die antwort
2

Versuchen Sie es auf diese Weise

<code><ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

    <LinearLayout android:id="@+id/GlobalLayout" 
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent"
                  android:orientation="vertical" >

        <ListView android:id="@+id/ListView1"
                  android:choiceMode="multipleChoice"
                  android:layout_height="100dip"
                  android:layout_width="fill_parent" />
       <ListView android:id="@+id/ListView2"
                  android:choiceMode="multipleChoice"
                  android:layout_height="100dip"
                  android:layout_width="fill_parent" />
       <ListView android:id="@+id/ListView3"
                  android:choiceMode="multipleChoice"
                  android:layout_height="100dip"
                  android:layout_width="fill_parent" />

    </LinearLayout>

</ScrollView>
</code>
Vielen Dank, ich habe dies getan, aber das Ergebnis war das gleiche. Ich konnte nicht über den Bildschirm scrollen. Hesam
1

Es funktioniert nicht, weil Android nicht weiß, mit welcher Ansicht er scrollen solllistview in einemscrollview Es ist keine gute Idee. versuchen zu benutzenvisibilty Attribut, zu verwendenHIDE die sicht die du finich zum arbeiten und einstellen hastVISIBLE das neue. oder benutze einsListView und versuchen Sie, Elemente zu füllen und zu entfernen, nachdem Sie eine Anweisung beendet und gestartet haben. hoffe das hilft dir

1

Wenden Sie diese Methode an und Ihre Listenansicht wird in der Scrollansicht scrollbar: -

<code>   ListView lstNewsOffer.setAdapter(new ViewOfferAdapter(
                            ViewNewsDetail.this, viewOfferList));
                    getListViewSize(lstNewsOffer);

void getListViewSize(ListView myListView) {
    ListAdapter myListAdapter = myListView.getAdapter();
    if (myListAdapter == null) {
        // do nothing return null
        return;
    }
    // set listAdapter in loop for getting final size
    int totalHeight = 0;
    for (int size = 0; size < myListAdapter.getCount(); size++) {
        View listItem = myListAdapter.getView(size, null, myListView);
        listItem.measure(0, 0);
        totalHeight += listItem.getMeasuredHeight();
    }
    // setting listview item in adapter
    ViewGroup.LayoutParams params = myListView.getLayoutParams();
    params.height = totalHeight
            + (myListView.getDividerHeight() * (myListAdapter.getCount() - 1));
    myListView.setLayoutParams(params);
    // print height of adapter on log
    Log.i("height of listItem:", String.valueOf(totalHeight));
}
</code>
0

Sie können Ihrer Listenansicht Kopf- und Fußzeilen hinzufügen, indem Sie diese aufblasen. Erstellen Sie drei XML-Layouts und fügen Sie sie in der Listenansicht mit Kopf- und Fußzeile hinzu.

<code>    View headerView = View.inflate(this, R.layout.layout_name, null);
    lv.addHeaderView(headerView);
</code>

Verwenden Sie es, bevor Sie den Adapter einstellen. lv ist listview.

Sie zeigen immer nur eine Listenansicht an. Bitte ... Bharat Sharma
1

<code><ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <ListView
                android:id="@+id/listView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1" >
            </ListView>

        </LinearLayout>

    </ScrollView>
</code>

Scrollview unterstützt ein untergeordnetes Layout. Erstellen Sie also die Listenansicht innerhalb des Bildlaufs, damit Sie das bekommen, was Sie wollen.

Vielen Dank, ich habe dies getan, aber das Ergebnis war das gleiche. Ich konnte nicht über den Bildschirm scrollen. Hesam

Verwandte Fragen