- インポートRecyclerView
2件の記事を見て、主参照
http://blog.csdn.net/a10615/article/details/51268022
http://blog.csdn.net/loveyaozu/article/details/53035587
1、build.gradleのAndroidStudioに以下の文を追加します
注 com.android.support:appcompatとRecyclerViewのバージョン番号が一致しています!
2、AndroidStudioを再コンパイルします。あなたがコードを書く、との関連RecyvlerViewは赤色で表示され、そしてAltキーを+正しいパッケージをインポートすることはできません入力した場合、終了とAndroidStudioができる技術を再入力してください!
参考資料
http://www.android100.org/html/201602/12/214931.html
- シンプルRecyclerViewを達成
レイアウトファイル
活動の主なレイアウトファイルに追加します。
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/my_recyclerview"
/>
その後、レイアウトに項目を追加RecyclerView
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@mipmap/ic_action_gplus"
android:id="@+id/simple_image"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:id="@+id/simple_text"/>
</LinearLayout>
非常に単純な、リニアレイアウト、画像、テキスト、および画像が死んで定義されています。
コードの実装
アダプタの実装
public class MySimpleRecyclerViewAdapter extends RecyclerView.Adapter<MySimpleRecyclerViewAdapter.MySimpleViewHolder> {
private Context mContext;
private ArrayList<String> mData;
public MySimpleRecyclerViewAdapter(Context context,ArrayList<String> data) {
mContext = context;
mData = data;
}
@Override
public MySimpleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//创建布局,并保存在ViewHolder中
return new MySimpleViewHolder(LayoutInflater.from(mContext).inflate(R.layout.simple_item, parent, false));
}
@Override
public void onBindViewHolder(MySimpleViewHolder holder, int position) {
//设置具体的数据
if (mData!= null) {
holder.mTextView.setText(mData.get(position));
}
}
@Override
public int getItemCount() {
return mData == null ? 0: mData.size();
}
public static class MySimpleViewHolder extends RecyclerView.ViewHolder{
TextView mTextView;
ImageView mImageView;
public MySimpleViewHolder(View view){
super(view);
mTextView = (TextView)view.findViewById(R.id.simple_text);
mImageView = (ImageView)view.findViewById(R.id.simple_image);
}
}
}
テキストや画像などのコントロール、背後に関連する情報を更新するために、簡単に、アダプタ、メインキープ関連する制御オブジェクト内の独自のViewHolderを定義します。
長いアダプタがRecyclerViewから継承されたとして、AndroidStudioがonCreateViewHolder onBindViewHolder getItemCountに3つのインターフェイスを実現するように指示されるように定義アダプタは、コードを参照するには、それぞれ役割がすぐに理解するだろう。
実現に活動
mRecyclerView = (RecyclerView)findViewById(R.id.my_recyclerview);
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
//mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, OrientationHelper.VERTICAL));
mRecyclerView.setAdapter(new MySimpleRecyclerViewAdapter(this, getData(120)));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());