理解という意味ではコードだけの方が分かりやすいのでコードだけで作ってみた。
画像は削除処理を入れたコードのものですが、コードは可能な限りシンプルにするため入っていません。
RecycleViewはそのままでは使えないので、build.gradle(Modle:appeに一行追加します。
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:26.+' compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' compile 'com.android.support:recyclerview-v7:26.+' <---------- この一行を追加 }
import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.DividerItemDecoration; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.ViewGroup; import android.widget.TextView; import java.util.Arrays; import java.util.List; /** * 一番シンプルなRecycleViewの使い方 */ public class MainActivity extends AppCompatActivity { private Listlist; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); // 表示するデータの用意 list = Arrays.asList(new String[]{"北海道","青森県","岩手県","宮城県","秋田県","山形県","福島県","茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県","新潟県","富山県","石川県","福井県","山梨県","長野県","岐阜県","静岡県","愛知県","三重県","滋賀県","京都府","大阪府","兵庫県","奈良県","和歌山県","鳥取県","島根県","岡山県","広島県","山口県","徳島県","香川県","愛媛県","高知県","福岡県","佐賀県","長崎県","熊本県","大分県","宮崎県","鹿児島県","沖縄県"}); // RecycleViewを使うには1 まずgradleに記述を書く RecyclerView recycleView = new RecyclerView(this); // 区切り線はディフォルトではつかないので作ってセットする RecyclerView.ItemDecoration itemDecoration = new DividerItemDecoration(this,DividerItemDecoration.VERTICAL); recycleView.addItemDecoration(itemDecoration); // RecycleViewはレイアウトマネージャーというものが必要 LineaLayoutManagerを選ぶとリストになる LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); recycleView.setLayoutManager(linearLayoutManager); // アダプタはListViewと同じ recycleView.setAdapter(new MyRecycleViewAdapter(this)); // RecycleViewをコンテンツビューとする setContentView(recycleView); } // リサイクルビュー用アダプタ private class MyRecycleViewAdapter extends RecyclerView.Adapter { private Context context; // コンストラクタ public MyRecycleViewAdapter(Context context) { this.context = context; } // RecycleView1つのセルに使うビューの設定 @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { // 今回はテキストビューのみ TextView textView = new TextView(context); // ホルダーに一番上のビューを渡すホルダーはabstractなので継承する RecyclerView.ViewHolder holder = new RecyclerView.ViewHolder(textView) { }; return holder; } // データとViewを結びつける場所 @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { String str = list.get(position); ((TextView)holder.itemView).setText(str); } // RecycleViewに項目数を教える @Override public int getItemCount() { return list.size(); } } }