我正在尝试添加一个ImageView库,它显示点击特色RecyclerView(Github的回收站视图库)图像。图像显示没有任何问题,但是当我试图单击它给下面的错误。我也提到了一些在计算器问题类似的问题在图像上但没能解决我的问题:如何解决Android中的java.lang.ClassCastException?
java.lang.ClassCastException: android.support.v7.widget.TintContextWrapper cannot be cast to android.app.Activity
at com.mostafaaryan.transitionalimageview.TransitionalImageView$1.onClick(TransitionalImageView.java:82)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
我绑定观点持有者代码:
public class CustomRecyclerViewAdapter extends FeatureRecyclerViewAdapter<CustomRecyclerViewAdapter.CustomRecyclerViewHolder> {
private List<String> dataList;
private Context context;
private int[] images = new int[5];
public CustomRecyclerViewAdapter(Context context, List<String> list) {
this.dataList = list;
this.context = context;
images[0] = R.drawable.image_one;
images[1] = R.drawable.image_three;
images[2] = R.drawable.image_two;
images[3] = R.drawable.image_four;
images[4] = R.drawable.image_five;
}
@Override
public CustomRecyclerViewHolder onCreateFeaturedViewHolder(ViewGroup parent, int viewType) {
return new CustomRecyclerViewHolder(
LayoutInflater.from(parent.getContext())
.inflate(R.layout.timeline_holder, parent, false));
}
@Override
public void onBindFeaturedViewHolder(CustomRecyclerViewHolder holder, int position) {
/* Glide.with(context)
.load(images[position % 4]).into(holder.ivBackground);*/
TransitionalImage transitionalImage = new TransitionalImage.Builder()
.duration(500)
.backgroundColor(ContextCompat.getColor(holder.ivBackground.getContext(), R.color.cardview_light_background))
.image(images[position % 4])
.create();
holder.ivBackground.setTransitionalImage(transitionalImage);
// holder.tvHeading.setText(dataList.get(position));
}
@Override
public int getFeaturedItemsCount() {
return dataList.size();
}
@Override
public void onSmallItemResize(CustomRecyclerViewHolder holder, int position, float offset) {
// holder.tvHeading.setAlpha(offset/100f);
}
@Override
public void onBigItemResize(CustomRecyclerViewHolder holder, int position, float offset) {
// holder.tvHeading.setAlpha(offset/100f);
}
public static class CustomRecyclerViewHolder extends RecyclerView.ViewHolder {
TransitionalImageView ivBackground;
TextView tvHeading;
public CustomRecyclerViewHolder(View itemView) {
super(itemView);
ivBackground = (TransitionalImageView) itemView.findViewById(R.id.iv_background);
// tvHeading = (TextView) itemView.findViewById(R.id.tv_heading);
}
}
}
爵士第一我曾尝试过,然后通过引用一些stackoverflow问题将上下文更改为当前表单 –
并且您可以尝试@creonilso rodrigues的答案。 – KeLiuyue
我也试过,但得到相同的错误 –