AndroidのウィジェットRecyclerViewの使い方は?

RecyclerViewはAndroidで大量のデータを表示するために公式に推奨されるリストコンポーネントで、ListViewよりも性能や拡張性が向上しています。以下はRecyclerViewを使用する簡単な手順です:

  1. レイアウトファイルにRecyclerViewを追加してください。
<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
  1. RecyclerView.Adapterを継承したカスタムAdapterを作成し、必要なメソッドを実装してください。
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> {
    
    private List<String> mData;

    public CustomAdapter(List<String> data) {
        this.mData = data;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        holder.bind(mData.get(position));
    }

    @Override
    public int getItemCount() {
        return mData.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {
        
        private TextView textView;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            textView = itemView.findViewById(R.id.textView);
        }

        public void bind(String data) {
            textView.setText(data);
        }
    }
}
  1. 各アイテムのスタイルを表示するためのレイアウトファイル(item_layout.xml)を作成してください。
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
  1. アクティビティやフラグメントでRecyclerViewを初期化し、アダプターを設定します。
RecyclerView recyclerView = findViewById(R.id.recyclerView);
List<String> data = new ArrayList<>();
// 添加数据到data
CustomAdapter adapter = new CustomAdapter(data);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(this));

これで、簡単なRecyclerViewの使用例が完了しました。実際の開発では、必要に応じてAdapterやレイアウトファイルをカスタマイズして、より複雑で豊かなリスト表示効果を実現することができます。

bannerAds