()簡単な実装のRecyclerViewアンドロイドUI開発

  • インポート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());

レンダリング


リリース元の4件の記事 ウォンの賞賛4 ビュー9270

おすすめ

転載: blog.csdn.net/manchesterutd/article/details/59155692