I have a list of events which are seperated by month and year (Jun 2010, Jul 2010 etc.)
I want to enable fast scrolling because the list is really long.
How do I enable fast scroll on ListViews
in Android?
I have a list of events which are seperated by month and year (Jun 2010, Jul 2010 etc.)
I want to enable fast scrolling because the list is really long.
How do I enable fast scroll on ListViews
in Android?
In the onCreate method of the ListActivity use setFastScrollEnabled:
getListView().setFastScrollEnabled(true);
android:fastScrollAlwaysVisible="true"
? –
Canzonet FragmentActivity
containing a list fragment? –
Podvin Use android:fastScrollEnabled in your xml:
<ListView
android:id="@+id/listview_files"
...
android:fastScrollEnabled="true" >
</ListView>
Try the following
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="listviewfastscrollstyle" parent="android:Theme">
<item name="android:fastScrollTrackDrawable">@drawable/listselector</item>
<item name="android:fastScrollThumbDrawable">@drawable/listselector</item>
</style>
</resources>
In your Manifest set the style like this:
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/CustomTheme">
this is the listview
<ExpandableListView
android:id="@android:id/list1"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:fastScrollAlwaysVisible="true"
android:fastScrollEnabled="true"
/>
If you want to be able to customize your Fast-scroller, like choosing your own scroller image to appear, I recommend using this source:
https://github.com/nolanlawson/CustomFastScrollViewDemo/
Basically, your listview adapter will have to implement a sectionindexer. This section indexer can be very stripped if you don't want to complicate things and provide simple fastscrolling though the entire length of the list.
The direct source for the fastscroller is here:
Place this view around your listview (nest your listview inside this view in your xml layout file) and set android:fastScrollEnabled="true" on your listview.
You might also want to check out a previous answer: Fast Scroll display problem with ListAdapter and SectionIndexer
I wanted to do something similar to what you wanted to achieve. I bumped into this post. It is a great way to implement fast scrolling without using the standard Android AlphabetIndexer, which requires a Cursor you might not always have.
Basically, you would have to implement the SectionIndexer interface in your adapter. In your case, instead of the current letter, you would show the current period as you scroll.
Within Layout File :
android:fastScrollEnabled="true"
You Can programmatically Enable Fast scroll bar:
getListView().setFastScrollEnabled(true);
Either define fastScrollEnabled in your xml or set it at run-time when needed.
1) <ListView
...
android:fastScrollEnabled="true" />
2) mListView.setFastScrollEnabled(true);
© 2022 - 2024 — McMap. All rights reserved.