2017-05-14 9 views
-8

recyclerviewを使用して最も単純なリストを作成し、アルファベット順のスクロールを連絡先と同じように追加するにはどうすればよいですか?それを私に説明するか、それを行う方法の例を教えてください。アルファベット順のスクロールでリストを作成するにはどうすればよいですか?

P.S:私はAndroid開発で新しく、以前はRecyclerViewを使ったことがありませんでした。

+1

Googleで始めて知ることができるたくさんのリソースがあります。 http://www.androidhive.info/2016/01/android-working-with-recycler-view/ –

+0

既存のチュートリアルを検索しようとしましたか? – GhostCat

+0

@GhostCatはい、私が探していた。しかし私はどこでも正しいチュートリアルを見つけられませんでした。 –

答えて

0

res/layoutのactivity_main.xmlファイルを開き、次の内容をコピーします。

<LinearLayout 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" 
android:orientation="horizontal" 
android:paddingLeft="5dp" 
tools:context=".MainActivity" 
android:baselineAligned="false" > 

<ListView 
    android:id="@+id/list_fruits" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:paddingRight="5dp" > 
</ListView> 

<LinearLayout 
    android:id="@+id/side_index" 
    android:layout_width="50dp" 
    android:layout_height="fill_parent" 
    android:background="#c3c3c3" 
    android:gravity="center_horizontal" 
    android:orientation="vertical" > 
</LinearLayout> 

のres /レイアウトで新しいside_index_item.xmlファイルを作成し、以下の内容をコピーします。

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/side_list_item" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:padding="3dp" 
    android:textSize="14sp" /> 

Open res/values/strings.xml and edit to have the content as shown below. A string array is defined to have list of fruits. 

    <?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string name="app_name">AndroidListViewIndex</string> 
    <string name="action_settings">Settings</string> 
    <string name="hello_world">Hello world!</string> 

    <string-array name="fruits_array"> 
     <item>Apples</item> 
     <item>Apricots</item> 
     <item>Avocado</item> 
     <item>Annona</item> 
     <item>Banana</item> 
     <item>Blueberry</item> 
     <item>Blackberry</item> 
     <item>Blackapple</item> 
     <item>Custard Apple</item> 
     <item>Clementine</item> 
     <item>Cantalope</item> 
     <item>Date</item> 
     <item>Elderberry</item> 
     <item>Fig</item> 
     <item>Grapefruit</item> 
     <item>Grape</item> 
     <item>Gooseberry</item> 
     <item>Guava</item> 
     <item>Honeydew melon</item> 
     <item>Jackfruit</item> 
     <item>Juniper Berry</item> 
     <item>Kiwi</item> 
     <item>Kumquat</item> 
     <item>Lemons</item> 
     <item>Limes</item> 
     <item>Lychee</item> 
     <item>Mango</item> 
     <item>Mandarin</item> 
     <item>Nectaraine</item> 
     <item>Orange</item> 
     <item>Olive</item> 
     <item>Prunes</item> 
     <item>Pears</item> 
     <item>Plum</item> 
     <item>Pineapple</item> 
     <item>Peach</item> 
     <item>Papaya</item> 
     <item>Pomelo</item> 
     <item>Raspberries</item> 
     <item>Rambutan</item> 
     <item>Strawberries</item> 
     <item>Sweety</item> 
     <item>Salmonberry</item> 
     <item>Tangerines</item> 
     <item>Tomato</item> 
     <item>Ugli</item> 
     <item>Watermelon</item> 
     <item>Woodapple</item> 
    </string-array> 

</resources> 

これは主なアクティビティクラスです。

private void getIndexList(String[] fruits) { 
     mapIndex = new LinkedHashMap<String, Integer>(); 
     for (int i = 0; i < fruits.length; i++) { 
      String fruit = fruits[i]; 
      String index = fruit.substring(0, 1); 

      if (mapIndex.get(index) == null) 
       mapIndex.put(index, i); 
     } 
    } 
  • displayIndex()右側にアルファベットインデクサを表示してのTextViewため OnClickListenerを設定します。

  • アルファベットインデクサからの文字が選択されている場合は、対応するリスト項目 が表示されます。

さらに詳しくは、私はGoogleのためにすることをお勧めします、あなたは多くのチュートリアルを取得します。私がお勧めできるものは次のとおりです。http://www.brightec.co.uk/ideas/android-listview-alphabet-scroller

+0

私はアンドロイドスタジオを使用してそれを行う方法を得たが、実際にイオンコードを使用して方法を探しています。 – shameemreza

関連する問題