简体   繁体   中英

how to show an alphabetical scrollview on the right side of a ListView

I am trying to create a an alphabetical scrollview to be diplayed on the right side of a listview to enable quick scrolling.i have done as instructed from this question How to create an alphabetical scrollbar displaying all the letter in android?

i have followed the above steps but on clicking the letters nothing happens,kindly assist.here's my code

java

  public void quickScroll(View v) {
    String firstLetter = (String) v.getTag();
   int index = 0;

   List<String> s=Arrays.asList("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O",
           "P","Q","R","S","T","U","V","W","X","Y","Z");
    if (s != null) {
        for (String string : s) {
            if (string.startsWith(firstLetter)) {
                index = s.indexOf(string);

                break;
            }
        }
    }
    lv.setSelectionFromTop(index, 0);
    //lv is my listview
}

and the xml below:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<ListView
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_above="@+id/button1"
   android:id="@+id/lv"/>
<LinearLayout android:orientation="vertical"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_alignParentRight="true"  android:background="@android:color/transparent" >

    <TextView
        android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/A" android:text="A" android:tag="A" 
       android:clickable="true"  android:onClick="quickScroll"

       />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/B" android:text="B" android:tag="B"
          android:clickable="true"  android:onClick="quickScroll"
        />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/C" android:text="C" android:tag="C"
          android:clickable="true"  android:onClick="quickScroll"
     />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/D" android:text="D" android:tag="D"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/E" android:text="E" android:tag="E"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/F" android:text="F" android:tag="F"
          android:clickable="true"  android:onClick="quickScroll"
        />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/G" android:text="G" android:tag="G"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/H" android:text="H" android:tag="H"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/I" android:text="I" android:tag="I"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/J" android:text="J" android:tag="J"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/K" android:text="K" android:tag="K"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/L" android:text="L" android:tag="L"
          android:clickable="true"  android:onClick="quickScroll"
        />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent" 
        android:id="@+id/M" android:text="M" android:tag="M"
         android:clickable="true"  android:onClick="quickScroll"
        />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/N" android:text="N" android:tag="N"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/O" android:text="O" android:tag="O"
          android:clickable="true"  android:onClick="quickScroll"
      />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/P" android:text="P" android:tag="P"
          android:clickable="true"  android:onClick="quickScroll"
        />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/Q" android:text="Q" android:tag="Q"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/R" android:text="R" android:tag="R"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/S" android:text="S" android:tag="S"
          android:clickable="true"  android:onClick="quickScroll"
    />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/T" android:text="T" android:tag="T"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/U" android:text="U" android:tag="U"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/V" android:text="V" android:tag="V"
          android:clickable="true"  android:onClick="quickScroll"
        />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/W" android:text="W" android:tag="W"
          android:clickable="true"  android:onClick="quickScroll"
        />
    <TextView
          android:layout_width="match_parent" android:layout_height="match_parent"
         android:id="@+id/X" android:text="X" android:tag="X"
          android:clickable="true"  android:onClick="quickScroll"
        />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/Y" android:text="Y" android:tag="Y"
          android:clickable="true"  android:onClick="quickScroll"
       />
    <TextView 
          android:layout_width="match_parent" android:layout_height="match_parent"
        android:id="@+id/Z" android:text="Z" android:tag="Z"
          android:clickable="true"  android:onClick="quickScroll"
        />

</LinearLayout>
 <Button
     android:id="@+id/button1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentBottom="true"
     android:layout_centerHorizontal="true"
     android:text="Done" />

</RelativeLayout>

@bloodyshadow i am just asking you to apply OnClickListener on TextViews first you apply that it will work

you were using onClick attribute in xml that not work fine with that

您可以通过在Java类xml onClick中应用“ OnCLickListener”来解决此问题,在此不起作用

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM