如何在ListView的右侧显示按字母顺序排列的滚动视图

时间:2014-01-28 07:19:51

标签: android listview view scroll

我正在尝试创建一个按字母顺序排列的滚动视图,以便在列表视图的右侧显示以启用快速滚动。我已按照此问题的指示完成 How to create an alphabetical scrollbar displaying all the letter in android?

我已按照上述步骤操作,但点击字母时没有任何反应,请帮助。这是我的代码

的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
}

和下面的 xml

<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>

2 个答案:

答案 0 :(得分:0)

@bloodyshadow我只是要求您在 TextViews 上应用OnClickListener首先申请它会起作用

您在xml中使用的onClick attribute

无法正常工作

答案 1 :(得分:-1)

您可以通过在java类中应用“OnCLickListener”来解决此问题 xml onClick不在这里工作