两个文本视图中具有不同值的分隔逗号的字符串的逻辑
Logic for strings with saperated commas with different values in two textviews
我有一个带有逗号分隔值的字符串的键。即 "template_id":“9,10”/"template_id":“0”。从 API 我为每个 ID 获得了 10 个不同的参数。
template_id=0 => Blank
template_id=1 => Out of Stock
template_id=2 => Birthday
template_id=3 => Gold Exclusive
template_id=4 => Selling Fast
template_id=5 => Almost out of Stock
template_id=6 => Use Parameter name "Points"
template_id=7 => Use Parameter name "Price"
template_id=8 => Use Parameter name "Venue"
template_id=9 => Use Parameter name "No of Locations"
我正在使用 Recyclerview
。我添加了下面的代码来检查 ids 并根据 ids 添加 textview settext:
if (model.getTemplate_id().contains("10")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("9")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvMembership.setText(model.getNo_of_locations() + " Locations");
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("8")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvMembership.setText(model.getVenue());
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("7")) {
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_reward_dollar);
holder.mBinding.tvPrice.setText(model.getPrice());
holder.mBinding.tvPrice.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("6")) {
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_reward_point);
holder.mBinding.tvPrice.setText(model.getPoints());
holder.mBinding.tvPrice.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("5")) {
holder.mBinding.tvMembership.setText(R.string.almost_out_of_stock);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_selling_fast);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("4")) {
holder.mBinding.tvMembership.setText(R.string.selling_fast);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_selling_fast);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("3")) {
holder.mBinding.tvMembership.setText(R.string.gold_exclusive);
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_gold_exclusive);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.colorGold));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("2")) {
holder.mBinding.tvPrice.setText(mCMSTextData.getBirthday());
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_birthday);
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("1")) {
holder.mBinding.tvMembership.setText(R.string.out_of_stock);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_out_of_stock);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.colorAccent));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("0")) {
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.llPrice.setVisibility(View.GONE);
}
但每次此文本视图都被其他值覆盖。我尝试了 20 TextView
和条件,但仍然无法正常工作。
============编辑==============
适配器Class:
public class CatalogueAdapter extends RecyclerView.Adapter<CatalogueAdapter.ViewHolder> {
Context context;
private List<CatalogueData> dataList;
private Activity activity;
private ImageLoader imageLoader;
private DisplayImageOptions defaultOptions;
private HashMap<String, Integer> hashMap = new HashMap<>();
private OnRecyclerItemClickListener mListener;
private CMSTextData mCMSTextData = new CMSTextData();
private CustomSharedPreference prefManager;
public CatalogueAdapter(Context context, List<CatalogueData> dataList, OnRecyclerItemClickListener mListener) {
this.context = context;
this.dataList = dataList;
this.mListener = mListener;
imageLoader = ImageLoader.getInstance();
defaultOptions = new DisplayImageOptions.Builder()
.showImageOnLoading(R.color.colorTextHint)
.showImageForEmptyUri(R.drawable.ic_mall_logo)
.showImageOnFail(R.drawable.ic_mall_logo)
.cacheOnDisk(true)
.cacheInMemory(true)
.bitmapConfig(Bitmap.Config.RGB_565).build();
prefManager = PrefManager.getInstance(context).getPrefs();
mCMSTextData = new Gson().fromJson(prefManager.getString(PARAMS.KEY_CMS_TEXT, ""), CMSTextData.class);
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
RowCatalogueBinding binding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext())
, R.layout.row_catalogue, parent, false);
return new ViewHolder(binding);
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
if (dataList.size() > 0) {
final CatalogueData model = dataList.get(position);
holder.mBinding.setCurrentData(model);
imageLoader.displayImage(model.getImage4x3(), holder.mBinding.ivCatalogue, defaultOptions);
imageLoader.displayImage(model.getLevel_logo_image(), holder.mBinding.ivLogo, defaultOptions);
/* template_id=0 => Blank
template_id=1 => Out of Stock
template_id=2 => Birthday
template_id = 3 =>Gold Exclusive
template_id = 4 =>Selling Fast
template_id = 5 =>Almost out of Stock
template_id = 6 =>Points
template_id = 7 =>Price
template_id = 8 =>Venue(Event hall A, AMK Hub)
template_id = 9 =>No of Locations(3 Locations) */
String n1[] = new String[1000], n2[] = new String[1000];
String template_id = model.getTemplate_id();
//
// for (int i = 0; i < dataList.size(); i++) {
//
// n1[i] = template_id.split(",")[i];
// Log.d("values", n1[i]);
// }
////
// n1[position] = template_id.split(",")[0];
// n2[position] = template_id.split(",")[1];
//
// Log.d("values", n1[position]);
List<String> items = Arrays.asList(template_id.split("\s*,\s*"));
Log.d("items", items.get(0));
if (model.getTemplate_id().contains("10")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("9")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvMembership.setText(model.getNo_of_locations() + " Locations");
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("8")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvMembership.setText(model.getVenue());
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("7")) {
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_reward_dollar);
holder.mBinding.tvPrice.setText(model.getPrice());
holder.mBinding.tvPrice.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("6")) {
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_reward_point);
holder.mBinding.tvPrice.setText(model.getPoints());
holder.mBinding.tvPrice.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("5")) {
holder.mBinding.tvMembership.setText(R.string.almost_out_of_stock);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_selling_fast);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("4")) {
holder.mBinding.tvMembership.setText(R.string.selling_fast);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_selling_fast);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("3")) {
holder.mBinding.tvMembership.setText(R.string.gold_exclusive);
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_gold_exclusive);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.colorGold));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("2")) {
holder.mBinding.tvPrice.setText(mCMSTextData.getBirthday());
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_birthday);
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("1")) {
holder.mBinding.tvMembership.setText(R.string.out_of_stock);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_out_of_stock);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.colorAccent));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("0")) {
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.llPrice.setVisibility(View.GONE);
}
//
// if (model.getCatalogue_type().equals("2") || model.getCatalogue_type().equals("3")) {
//
// holder.mBinding.llMembership.setVisibility(View.VISIBLE);
// holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
//
// holder.mBinding.ivPrice.setImageResource(R.drawable.ic_clock_black);
// holder.mBinding.ivMembership.setImageResource(R.drawable.ic_location_catalogue);
//
// }
}
}
@Override
public int getItemCount() {
return dataList.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
private final RowCatalogueBinding mBinding;
ViewHolder(RowCatalogueBinding itemLayoutView) {
super(itemLayoutView.getRoot());
this.mBinding = itemLayoutView;
mBinding.llMain.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mListener != null) {
mListener.onViewClick(v, getAdapterPosition());
}
}
});
}
}
}
型号:
public class CatalogueData
{
private String catalogue_type;
private String unique_code;
private String name;
private String short_description;
private String long_description;
private String terms_conditions;
private String image4x3;
private String image16x9;
private String created_date;
private String is_mercatus_group;
private String is_featured;
private String reward_type;
private String start_date;
private String end_date;
private List<String> periods = null;
private String points;
private String price;
private String no_of_locations;
private List<String> address = null;
private String selling_lable;
private String mall_id;
private List<Object> schedule = null;
private String template_id;
private String venue;
private String level_logo_image;
private String start_to_end;
private String is_birthday;
private String gold_exclusive;
private String price_value;
private String points_value;
}
请提出任何建议。如果您需要任何代码,请告诉我。
尝试使用
.equals("YOUR_ID_HERE")
而不是
.contains("YOUR_ID_HERE")
看看是否有帮助
看起来您正在拆分 template_id,但随后在完整的 un-split 字符串上调用了 contains。
如果您收到 template_id("10,6"),那么将针对 10、6、1 和 0 调用 if 语句。
只是猜测,因为我不知道上下文,但我想你真的想使用拆分值并单独检查每个值。另外我想你想使用 if-else-if 阶梯而不是顺序 if 语句。
循环 items arraylist,
Iterator i = items.iterator();
while (i.hasNext()) {
if(items[i].equals("9"){
//write your logic here
}
if(items[i].equals("10"){
//write your logic here
}
if(items[i].equals("1"){
//write your logic here
}
//and so on write your every condition
}
将所有 TextView
分开,然后将所有 template_id 保存在 ArrayList
中,拆分然后使用条件,我相信它会起作用。请检查下面的代码片段。
String template_id = model.getTemplate_id();
ArrayList<String> templateIDs = new ArrayList<>();
StringTokenizer templateTokenizer = new StringTokenizer(template_id, ",");
while(templateTokenizer.hasMoreTokens()) {
templateIDs.add(templateTokenizer.nextToken());
}
if(templateIDs.contains("0")) {
// Do your work according 0 value
}
if(templateIDs.contains("1")) {
// Do your work according 1 value
}
if(templateIDs.contains("2")) {
// Do your work according 2 value
}
我有一个带有逗号分隔值的字符串的键。即 "template_id":“9,10”/"template_id":“0”。从 API 我为每个 ID 获得了 10 个不同的参数。
template_id=0 => Blank
template_id=1 => Out of Stock
template_id=2 => Birthday
template_id=3 => Gold Exclusive
template_id=4 => Selling Fast
template_id=5 => Almost out of Stock
template_id=6 => Use Parameter name "Points"
template_id=7 => Use Parameter name "Price"
template_id=8 => Use Parameter name "Venue"
template_id=9 => Use Parameter name "No of Locations"
我正在使用 Recyclerview
。我添加了下面的代码来检查 ids 并根据 ids 添加 textview settext:
if (model.getTemplate_id().contains("10")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("9")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvMembership.setText(model.getNo_of_locations() + " Locations");
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("8")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvMembership.setText(model.getVenue());
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("7")) {
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_reward_dollar);
holder.mBinding.tvPrice.setText(model.getPrice());
holder.mBinding.tvPrice.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("6")) {
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_reward_point);
holder.mBinding.tvPrice.setText(model.getPoints());
holder.mBinding.tvPrice.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("5")) {
holder.mBinding.tvMembership.setText(R.string.almost_out_of_stock);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_selling_fast);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("4")) {
holder.mBinding.tvMembership.setText(R.string.selling_fast);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_selling_fast);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("3")) {
holder.mBinding.tvMembership.setText(R.string.gold_exclusive);
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_gold_exclusive);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.colorGold));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("2")) {
holder.mBinding.tvPrice.setText(mCMSTextData.getBirthday());
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_birthday);
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("1")) {
holder.mBinding.tvMembership.setText(R.string.out_of_stock);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_out_of_stock);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.colorAccent));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("0")) {
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.llPrice.setVisibility(View.GONE);
}
但每次此文本视图都被其他值覆盖。我尝试了 20 TextView
和条件,但仍然无法正常工作。
============编辑==============
适配器Class:
public class CatalogueAdapter extends RecyclerView.Adapter<CatalogueAdapter.ViewHolder> {
Context context;
private List<CatalogueData> dataList;
private Activity activity;
private ImageLoader imageLoader;
private DisplayImageOptions defaultOptions;
private HashMap<String, Integer> hashMap = new HashMap<>();
private OnRecyclerItemClickListener mListener;
private CMSTextData mCMSTextData = new CMSTextData();
private CustomSharedPreference prefManager;
public CatalogueAdapter(Context context, List<CatalogueData> dataList, OnRecyclerItemClickListener mListener) {
this.context = context;
this.dataList = dataList;
this.mListener = mListener;
imageLoader = ImageLoader.getInstance();
defaultOptions = new DisplayImageOptions.Builder()
.showImageOnLoading(R.color.colorTextHint)
.showImageForEmptyUri(R.drawable.ic_mall_logo)
.showImageOnFail(R.drawable.ic_mall_logo)
.cacheOnDisk(true)
.cacheInMemory(true)
.bitmapConfig(Bitmap.Config.RGB_565).build();
prefManager = PrefManager.getInstance(context).getPrefs();
mCMSTextData = new Gson().fromJson(prefManager.getString(PARAMS.KEY_CMS_TEXT, ""), CMSTextData.class);
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
RowCatalogueBinding binding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext())
, R.layout.row_catalogue, parent, false);
return new ViewHolder(binding);
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
if (dataList.size() > 0) {
final CatalogueData model = dataList.get(position);
holder.mBinding.setCurrentData(model);
imageLoader.displayImage(model.getImage4x3(), holder.mBinding.ivCatalogue, defaultOptions);
imageLoader.displayImage(model.getLevel_logo_image(), holder.mBinding.ivLogo, defaultOptions);
/* template_id=0 => Blank
template_id=1 => Out of Stock
template_id=2 => Birthday
template_id = 3 =>Gold Exclusive
template_id = 4 =>Selling Fast
template_id = 5 =>Almost out of Stock
template_id = 6 =>Points
template_id = 7 =>Price
template_id = 8 =>Venue(Event hall A, AMK Hub)
template_id = 9 =>No of Locations(3 Locations) */
String n1[] = new String[1000], n2[] = new String[1000];
String template_id = model.getTemplate_id();
//
// for (int i = 0; i < dataList.size(); i++) {
//
// n1[i] = template_id.split(",")[i];
// Log.d("values", n1[i]);
// }
////
// n1[position] = template_id.split(",")[0];
// n2[position] = template_id.split(",")[1];
//
// Log.d("values", n1[position]);
List<String> items = Arrays.asList(template_id.split("\s*,\s*"));
Log.d("items", items.get(0));
if (model.getTemplate_id().contains("10")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("9")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvMembership.setText(model.getNo_of_locations() + " Locations");
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("8")) {
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
holder.mBinding.tvMembership.setText(model.getVenue());
holder.mBinding.tvPrice.setText(model.getStart_to_end());
}
if (model.getTemplate_id().contains("7")) {
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_reward_dollar);
holder.mBinding.tvPrice.setText(model.getPrice());
holder.mBinding.tvPrice.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("6")) {
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_reward_point);
holder.mBinding.tvPrice.setText(model.getPoints());
holder.mBinding.tvPrice.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("5")) {
holder.mBinding.tvMembership.setText(R.string.almost_out_of_stock);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_selling_fast);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("4")) {
holder.mBinding.tvMembership.setText(R.string.selling_fast);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_selling_fast);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.tab_selected));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("3")) {
holder.mBinding.tvMembership.setText(R.string.gold_exclusive);
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_gold_exclusive);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.colorGold));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("2")) {
holder.mBinding.tvPrice.setText(mCMSTextData.getBirthday());
holder.mBinding.ivPrice.setImageResource(R.drawable.ic_birthday);
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("1")) {
holder.mBinding.tvMembership.setText(R.string.out_of_stock);
holder.mBinding.tvPrice.setText(model.getStart_to_end());
holder.mBinding.ivMembership.setImageResource(R.drawable.ic_out_of_stock);
holder.mBinding.tvMembership.setTextColor(context.getResources().getColor(R.color.colorAccent));
holder.mBinding.llMembership.setVisibility(View.VISIBLE);
holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
}
if (model.getTemplate_id().contains("0")) {
holder.mBinding.llMembership.setVisibility(View.GONE);
holder.mBinding.llPrice.setVisibility(View.GONE);
}
//
// if (model.getCatalogue_type().equals("2") || model.getCatalogue_type().equals("3")) {
//
// holder.mBinding.llMembership.setVisibility(View.VISIBLE);
// holder.mBinding.tvPrice.setVisibility(View.VISIBLE);
//
// holder.mBinding.ivPrice.setImageResource(R.drawable.ic_clock_black);
// holder.mBinding.ivMembership.setImageResource(R.drawable.ic_location_catalogue);
//
// }
}
}
@Override
public int getItemCount() {
return dataList.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
private final RowCatalogueBinding mBinding;
ViewHolder(RowCatalogueBinding itemLayoutView) {
super(itemLayoutView.getRoot());
this.mBinding = itemLayoutView;
mBinding.llMain.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mListener != null) {
mListener.onViewClick(v, getAdapterPosition());
}
}
});
}
}
}
型号:
public class CatalogueData
{
private String catalogue_type;
private String unique_code;
private String name;
private String short_description;
private String long_description;
private String terms_conditions;
private String image4x3;
private String image16x9;
private String created_date;
private String is_mercatus_group;
private String is_featured;
private String reward_type;
private String start_date;
private String end_date;
private List<String> periods = null;
private String points;
private String price;
private String no_of_locations;
private List<String> address = null;
private String selling_lable;
private String mall_id;
private List<Object> schedule = null;
private String template_id;
private String venue;
private String level_logo_image;
private String start_to_end;
private String is_birthday;
private String gold_exclusive;
private String price_value;
private String points_value;
}
请提出任何建议。如果您需要任何代码,请告诉我。
尝试使用
.equals("YOUR_ID_HERE")
而不是
.contains("YOUR_ID_HERE")
看看是否有帮助
看起来您正在拆分 template_id,但随后在完整的 un-split 字符串上调用了 contains。
如果您收到 template_id("10,6"),那么将针对 10、6、1 和 0 调用 if 语句。
只是猜测,因为我不知道上下文,但我想你真的想使用拆分值并单独检查每个值。另外我想你想使用 if-else-if 阶梯而不是顺序 if 语句。
循环 items arraylist,
Iterator i = items.iterator();
while (i.hasNext()) {
if(items[i].equals("9"){
//write your logic here
}
if(items[i].equals("10"){
//write your logic here
}
if(items[i].equals("1"){
//write your logic here
}
//and so on write your every condition
}
将所有 TextView
分开,然后将所有 template_id 保存在 ArrayList
中,拆分然后使用条件,我相信它会起作用。请检查下面的代码片段。
String template_id = model.getTemplate_id();
ArrayList<String> templateIDs = new ArrayList<>();
StringTokenizer templateTokenizer = new StringTokenizer(template_id, ",");
while(templateTokenizer.hasMoreTokens()) {
templateIDs.add(templateTokenizer.nextToken());
}
if(templateIDs.contains("0")) {
// Do your work according 0 value
}
if(templateIDs.contains("1")) {
// Do your work according 1 value
}
if(templateIDs.contains("2")) {
// Do your work according 2 value
}