2017-07-25 5 views
0

Ich versuche, eine ListView in einem ScrollView zu verwenden. Das Ziel ist es, die anderen Apps ähnlich wie das Instagram und Facebook zu arbeiten. Unter dem Commentary wird der Code in Java und unter ihm in Xml sein. Wenn ich Grammatik durcheinander gebracht habe, entschuldige ich mich, weil ich noch die englische Sprache lerne.So verwenden Sie eine ListView in einer ScrollView

Hier ist mein Code:

slImages = (SliderLayout)rootView.findViewById(R.id.slImageResource); 

     FSocietySlideView slideView = new FSocietySlideView(getContext()); 
     slideView.image(R.mipmap.ic_launcher); 
     slideView.setOnSliderClickListener(HomeFragment.this); 
     slideView.description("None"); 
     slImages.addSlider(slideView); 

     final ArrayList<FSociety> news = new ArrayList<>(); 

     news.add(new FSociety(getResources(), "None", "None", R.mipmap.ic_launcher)); 
     news.add(new FSociety(getResources(), "None", "None", R.mipmap.ic_launcher)); 
     news.add(new FSociety(getResources(), "None", "None", R.mipmap.ic_launcher)); 
     news.add(new FSociety(getResources(), "None", "None", R.mipmap.ic_launcher)); 
     news.add(new FSociety(getResources(), "None", "None", R.mipmap.ic_launcher)); 
     news.add(new FSociety(getResources(), "None", "None", R.mipmap.ic_launcher)); 

     FSocietyAdapter adapter = new FSocietyAdapter(getActivity(),news); 

     ListView listView = (ListView)rootView.findViewById(R.id.list_test); 

     listView.setAdapter(adapter); 

     return rootView; 
    } 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:custom="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#212121" 
    android:orientation="vertical"> 


    <com.daimajia.slider.library.SliderLayout 
     android:id="@+id/slImageResource" 
     android:layout_width="match_parent" 
     android:layout_height="205dp" 
     android:layout_marginTop="0dp" 
     android:scaleType="fitXY" /> 

    <com.daimajia.slider.library.Indicators.PagerIndicator 
     android:id="@+id/custom_indicator" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="-4dp" 
     android:gravity="center" 
     custom:selected_color="#FFFFFF" 
     custom:selected_height="6dp" 
     custom:selected_padding_left="6dp" 
     custom:selected_padding_right="6dp" 
     custom:selected_width="6dp" 
     custom:shape="oval" 
     custom:unselected_color="#55333333" 
     custom:unselected_height="6dp" 
     custom:unselected_padding_left="2dp" 
     custom:unselected_padding_right="2dp" 
     custom:unselected_width="6dp" /> 

    <ListView 
     android:id="@+id/list_test" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"></ListView> 


</LinearLayout> 
+0

Ähnliche Frage wurde bereits hier beantwortet: https://stackoverflow.com/questions/18367522/android-list-view-inside-a-scroll-view – Subash

+0

Ich habe schon versucht, aber hat nicht funktioniert –

Antwort

0

Sie nie ein Listview oder RecyclerView in einem Scroll setzen sollte. Dies verursacht Leistungsprobleme. ListViews und solche scrollen automatisch.

Verwenden Sie ScrollViews nur für z. B. mehrere Textansichten, die den Bildschirm überlaufen.

+0

Funktioniert gut in NestedScrollView –

+0

Es mag gut funktionieren, aber laut Android Dev Guide ist dies eine schlechte Übung. Dies kann zu Verzögerungen und anderen Problemen führen. Für kleine Datenmengen sollte es in Ordnung sein, aber es ist überflüssig, da ListViews automatisch scrollen. –

+0

Was ist mit horizontalen RecyclerView in einem vertikalen ScrollView? Ist das nicht ein etwas allgemeines Muster? –

0

Ich verstehe nicht, warum Sie ListView in scrollview einfügen möchten? Wenn ich Facebook-App schaue, gibt es keine ListView in Scrollview. Wenn ich Facebook-App entworfen habe, werde ich so etwas tun.

<LinearLayout> <-- Bottom layout 
    <LinearLayout> 
     //There are buttons for news, friends, etc 
    </LinearLayout> 
    <RecyclerView> 
     //There is your facebook news, which can scroll 
     //In recyclerview create custom item for showing one news 
    </RecyclerView> 
</LinearLayout> 

Sie finden RecyclerView Tutorials auf Google.

Verwandte Themen