@Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.favorites_list_item, parent, false); ViewHolder holder = new ViewHolder(view); holder.thumbnail.setOnClickListener( v -> userAction.showFullScreenImage(favorites.get(holder.getAdapterPosition()))); return holder; }
@Override public void onClick(View v) { ViewHolder holder = (ViewHolder) v.getTag(); // team.setMonsterOverwrite(holder.getAdapterPosition()); // team.save(); Singleton.getInstance().setMonsterOverwrite(holder.getAdapterPosition()); if (monsterList.get(holder.getAdapterPosition()).getMonsterId() == 0) { ((MainActivity) mContext) .switchFragment( MonsterTabLayoutFragment.newInstance(false, 0, holder.getAdapterPosition()), MonsterTabLayoutFragment.TAG, "good"); } else { Parcelable monsterParcel = Parcels.wrap(monsterList.get(holder.getAdapterPosition())); ((MainActivity) mContext) .switchFragment( MonsterPageFragment.newInstance( monsterList.get(holder.getAdapterPosition()).getMonsterId(), holder.getAdapterPosition(), monsterParcel), MonsterPageFragment.TAG, "good"); // ((MainActivity) // mContext).switchFragment(MonsterPageFragment.newInstance(realm.copyFromRealm(monsterList.get(holder.getAdapterPosition())), holder.getAdapterPosition()), MonsterPageFragment.TAG, "good"); } }
@Override public boolean onLongClick(View v) { ViewHolder holder = (ViewHolder) v.getTag(); Singleton.getInstance().setMonsterOverwrite(holder.getAdapterPosition()); // Intent i = new Intent(mContext, MonsterTabLayoutActivity.class); // Bundle bundle = new Bundle(); // bundle.putBoolean("replaceAll", false); // bundle.putLong("replaceMonsterId", // monsterList.get(holder.getAdapterPosition()).getMonsterId()); // bundle.putInt("monsterPosition", holder.getAdapterPosition()); // i.putExtras(bundle); // ((Activity)mContext).startActivityForResult(i, 1); ((MainActivity) mContext) .switchFragment( MonsterTabLayoutFragment.newInstance( false, monsterList.get(holder.getAdapterPosition()).getMonsterId(), holder.getAdapterPosition()), MonsterTabLayoutFragment.TAG, "good"); return true; }
/** 设置值 */ @Override public void onBindViewHolder(final ViewHolder holder, final int i) { if (currType == TYPE_GRID) { holder.tv.setTextSize(px2dp(30f)); } else { holder.tv.setTextSize(px2dp(60f)); } if (currType == TYPE_STAGGERED_H || currType == TYPE_STAGGERED_V) { holder.iv.setVisibility(View.VISIBLE); double positionHeight = getPositionRatio(holder.getAdapterPosition()); holder.iv.setHeightRatio(positionHeight); } else { holder.iv.setVisibility(View.GONE); } }
@Override public void onBindViewHolder(final ViewHolder holder, int position) { List<PublicTransport> fav_list = s.favList; holder.pt_image.setImageResource(fav_list.get(position).getPt_image_id()); holder.pt_type.setText(fav_list.get(position).getPt_type()); holder.pt_name.setText(fav_list.get(position).getPt_name()); holder.pt_route.setText(fav_list.get(position).getPt_route()); // ottengo l'elemento attuale final PublicTransport pt = fav_list.get(holder.getAdapterPosition()); // apro mapActivity cliccando sull'elemento holder.itemView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { holder.itemView.setEnabled(false); // imposto la label del mezzo NON cliccabile // controllo la connessione ad internet if (Connectivity.isConnected((v.getRootView().getContext()))) { s.goToFavouritesActivity = true; CoordThread ct = new CoordThread(s, v, pt); CoordThread.ricezioneCoord = true; ct.start(); } else { // se non è connesso ad internet showAlertDialog( v.getContext(), null, v.getContext().getString(R.string.internet_error_message)); } } }); holder.itemView.setOnLongClickListener( new View.OnLongClickListener() { @Override public boolean onLongClick(final View v) { AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext(), R.style.AppCompatAlertDialogStyleLight); builder.setTitle("Eliminare questo preferito?"); builder.setPositiveButton( "OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { String snackbarContent; if (removeListItem(holder.getAdapterPosition())) { snackbarContent = "Preferito eliminato"; } else snackbarContent = "ERRORE, preferito non eliminato"; if (s.favList.size() == 0) { // ultimo preferito rimasto Intent i = new Intent(v.getContext(), HomeActivity.class); Bundle b = new Bundle(); b.putString("snackbarContent", snackbarContent); b.putParcelable("SharedData", s); i.putExtra("bundle", b); v.getContext().startActivity(i); } else { // non è l'ultimo preferito Snackbar.make( ((Activity) v.getContext()).findViewById(R.id.activity_favourites), snackbarContent, Snackbar.LENGTH_LONG) .show(); } } }); builder.setNegativeButton("ANNULLA", null); builder.show(); return false; } }); // mezzo disponibile - non disponibile (pallino verde - rosso) if (fav_list.get(position).isPt_enabled()) holder.pt_enabled.setImageResource(R.drawable.ic_enabled_green); // mezzo disponibile else holder.pt_enabled.setImageResource(R.drawable.ic_disabled_red); // mezzo non disponibile*/ }