RecyclervView実装してみた。
お久しぶりです。最近、以前に作ったアプリを改良してListViewからRecyclerViewに変えようとしていました。
しかし、、なかなかうまくいかなかった。
RunしてもNull Exception Java.util.listやら、 Interfaceのクリック機能がおかしいないなど、、
しかし!!!!
ようやく思った通りにできました。ほんとに時間かかった。
一応、初コード載せに挑戦してみます。
requestData.enqueue(new Callback<ShopData>() { @Override public void onResponse(Call<ShopData> call, Response<ShopData> response) { List<Shop> shopList = response.body().results.getShop(); adapter = new CustomAdapter(shopList, R.layout.activity_custom_items, getActivity()); mRecyclerView.setAdapter(adapter); } @Override public void onFailure(Call<ShopData> call, Throwable t) { Log.e("Restaurants","Error" + t.getMessage()); Toast.makeText(getActivity().getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show(); }
RecyclerView
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> { private List<Shop> resultData; private Context mContext; private int rowLayout; private OnItemClickListener mClickListener; public void setClickListener(OnItemClickListener clickListener) { this.mClickListener = clickListener; } public CustomAdapter(List<Shop> resultData, int rowLayout, Context context) { this.resultData = resultData; this.rowLayout = rowLayout; this.mContext = context; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()) .inflate(rowLayout, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(final ViewHolder viewholder, final int position) { viewholder.item_text.setText(resultData.get(position).getName()); Picasso.with(mContext).load(resultData.get(position).getPhoto().getMobile().getS()) .into(viewholder.item_pic); } @Override public int getItemCount() { return resultData.size(); } public class ViewHolder extends RecyclerView.ViewHolder{ private TextView item_text; private ImageView item_pic; public ViewHolder(View itemView) { super(itemView); item_text = (TextView)itemView.findViewById(R.id.item_text); item_pic = (ImageView)itemView.findViewById(R.id.item_pic); } } }
こんな感じです。
使ってみた感想は、ListView覚えるよりこっち覚えたほうがいいかもねと思いました。
あとはクリック処理がうまく機能してくれるように実装頑張ります。
サンプルアプリは完成仕掛けとして、web系触るべきか、kotolinで同じようなもの作るか
考え中です、、、。
サービス作ってみたいんだけど、大学卒業して独学でプログラミング勉強して
もう3月だしできればエンジニアとして就職活動したいけど、このスキルでいけるのか、、
とりあえず頑張ります。