如何解决MaterialTextView 不能被投射到微调器中
我正在尝试创建一个利用来自微调器和文本视图的数据的适配器。
@Override
public RecipeViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup,int i) {
View mView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_list,viewGroup,false);
return new RecipeViewHolder(mView);
}
@Override
public void onBindViewHolder(@NonNull RecipeViewHolder recipeViewHolder,int i) {
recipeViewHolder.imageView.setImageResource(myrecipeList.get(i).getImage());
recipeViewHolder.mTitle.setText(myrecipeList.get(i).getName());
recipeViewHolder.mMeal.setSelection(getIndex(recipeViewHolder.mMeal,myrecipeList.get(i).getMeal()));
recipeViewHolder.mDifficulty.setSelection(getIndex2(recipeViewHolder.mDifficulty,myrecipeList.get(i).getDifficulty()));
}
@Override
public int getItemCount() {
return myrecipeList.size();
}
}
class RecipeViewHolder extends RecyclerView.ViewHolder {
ImageView imageView;
TextView mTitle
Spinner mMeal,mDifficulty;
CardView mCardView;
public RecipeViewHolder(View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.idIVCourseImage);
mTitle = itemView.findViewById(R.id.idTVCourseName);
mMeal = itemView.findViewById(R.id.idTVCourseMeal);
mDifficulty = itemView.findViewById(R.id.idTVCourseDifficulty);
}
GetIndex 应该将其转换为字符串:
public int getIndex(Spinner spinner,String meal) {
for (int i = 0; i < spinner.getCount(); i++) {
if (spinner.getItemAtPosition(i).toString().equalsIgnoreCase(meal)) {
return i;
}
}
return 0;
获取索引 2 是一样的,但难度不同
这里的膳食和难度是用户从微调列表中选择的两个值。 下面给出的是我的 logcat:
2021-04-15 23:01:31.410 25171-25171/com.example.myrecipiebook E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myrecipiebook,PID: 25171
java.lang.ClassCastException: com.google.android.material.textview.MaterialTextView cannot be cast to android.widget.Spinner
at com.example.myrecipiebook.RecipeViewHolder.<init>(RecipeAdapter.java:86)
at com.example.myrecipiebook.RecipeAdapter.onCreateViewHolder(RecipeAdapter.java:54)
at com.example.myrecipiebook.RecipeAdapter.onCreateViewHolder(RecipeAdapter.java:23)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。