RecyclerViewシリーズ-基本コントロールの使用方法の説明
4505 ワード
1.概要
android5.0新しいコントロールは、support v 7パッケージの下で、簡単な点と言えば、RecyclerViewはListView、GridView、滝の流れで、1行ですべての効果を切り替えることができます.
2.使用
2.1依存ライブラリcompile'comをインポートする.android.support:recyclerview-v7:25.0.0'2.2アダプタアダプタアダプタの設定
activity_base_use.xmlレイアウトファイル
3注意
3.1 RecyclerViewにデータsetAdapterを設定する前に必ずスタイルrecycle_を設定するview.setLayoutManager()は、設定しないとデータが表示されません.New LinearLayoutManager)->ListViewであることを示すスタイルnew GridLayoutManager()->GridViewであることを示すスタイル、1列に表示される個数new StaggerdGridLayoutManager()->滝フロースタイルRecyclerViewを示す.Adapterの3つの方法
3.2カスタムRecyclerAdapterで継承するRecyclerView.Adapterには汎用ViewHolderと書かなければなりません.ここでは強制的にViewHolderと書くので、書かないと上書きできません.
具体的なコードはgithubにアップロードされました:https://github.com/shuai999/View_day19.git
次のレッスンでは、RecyclerViewに分割線を追加する方法について説明します.
android5.0新しいコントロールは、support v 7パッケージの下で、簡単な点と言えば、RecyclerViewはListView、GridView、滝の流れで、1行ですべての効果を切り替えることができます.
2.使用
2.1依存ライブラリcompile'comをインポートする.android.support:recyclerview-v7:25.0.0'2.2アダプタアダプタアダプタの設定
/**
* Email: [email protected]
* Create JackChen 2018/3/3 10:48
* Version:
* Params:
* Description:
*/
public class BaseUseActivity extends AppCompatActivity {
private RecyclerView recycler_view;
//
private List mDatas ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base_use);
initData() ;
recycler_view = (RecyclerView) findViewById(R.id.recycler_view);
// , RecyclerView adapter , ,
// new LinearLayoutManager) -> ListView
// new GridLayoutManager() -> GridView ,1
// new StaggeredGridLayoutManager() ->
recycler_view.setLayoutManager(new LinearLayoutManager(this));
// recycler_view.setLayoutManager(new GridLayoutManager(this , 3));
// recycler_view.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.HORIZONTAL));
// ListView , Adapter
recycler_view.setAdapter(new RecyclerAdapter());
}
/**
* -
*/
private void initData() {
mDatas = new ArrayList<>() ;
for (int i = 'A'; i < 'Z'; i++) {
mDatas.add("" + (char)i) ;
}
}
/**
* ViewHolder , ViewHolder, , ViewHolder,
* 3 , ListView ViewHolder , , , OOM
*/
private class RecyclerAdapter extends RecyclerView.Adapter{
//
@Override
public int getItemCount() {
return mDatas.size();
}
// ViewHolder
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(BaseUseActivity.this).inflate(R.layout.item_home , parent , false) ;
ViewHolder viewHolder = new ViewHolder(itemView) ;
return viewHolder;
}
//
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.itemTv.setText(mDatas.get(position));
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView itemTv ;
public ViewHolder(View itemView) {
super(itemView);
itemTv = (TextView) itemView.findViewById(R.id.tv_num);
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.id_action_gridview:
recycler_view.setLayoutManager(new GridLayoutManager(BaseUseActivity.this , 2));
break;
case R.id.id_action_listview:
recycler_view.setLayoutManager(new LinearLayoutManager(BaseUseActivity.this));
break;
}
return true;
}
}
activity_base_use.xmlレイアウトファイル
3注意
3.1 RecyclerViewにデータsetAdapterを設定する前に必ずスタイルrecycle_を設定するview.setLayoutManager()は、設定しないとデータが表示されません.New LinearLayoutManager)->ListViewであることを示すスタイルnew GridLayoutManager()->GridViewであることを示すスタイル、1列に表示される個数new StaggerdGridLayoutManager()->滝フロースタイルRecyclerViewを示す.Adapterの3つの方法
3.2カスタムRecyclerAdapterで継承するRecyclerView.Adapterには汎用ViewHolderと書かなければなりません.ここでは強制的にViewHolderと書くので、書かないと上書きできません.
具体的なコードはgithubにアップロードされました:https://github.com/shuai999/View_day19.git
次のレッスンでは、RecyclerViewに分割線を追加する方法について説明します.