I am Trying to implement like feature in the app, here is the snippet from the Viewholder in the recycled view.
Recycler customadapter
public class PostAdapterViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView title,user,description,tag,time,designation;
Long date;
ImageView imageView,bookmark,profilepic,sharebutton,like;
RelativeLayout head;
LinearLayout content;
DatabaseReference reference;
Context context;
String name;
public void setContext(Context context) {
this.context = context;
}
public PostAdapterViewHolder (final View itemView) {
super(itemView);
itemView.setOnClickListener(this);
head = (RelativeLayout) itemView.findViewById(R.id.head);
content = (LinearLayout) itemView.findViewById(R.id.content);
imageView =(ImageView)itemView.findViewById(R.id.imageview);
designation = (TextView) itemView.findViewById(R.id.designation);
like =(ImageView)itemView.findViewById(R.id.like);
profilepic = (ImageView) itemView.findViewById(R.id.imageView2);
bookmark =(ImageView)itemView.findViewById(R.id.bookmark);
title = (TextView) itemView.findViewById(R.id.title);
description = (TextView) itemView.findViewById(R.id.description);
time = (TextView) itemView.findViewById(R.id.date);
tag = (TextView) itemView.findViewById(R.id.tag);
sharebutton = (ImageView) itemView.findViewById(R.id.sharebutton);
user = (TextView) itemView.findViewById(R.id.username);
like.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView i = (ImageView) itemView.findViewById(R.id.like);
Drawable a = i.getBackground();
if (a.getConstantState().equals(context.getDrawable(R.drawable.emptyup).getConstantState())){
i.setImageDrawable(context.getDrawable(R.drawable.fillup));
} else {
i.setImageDrawable(context.getDrawable(R.drawable.emptyup));
}
}
});
}
}
}
01-09 10:43:45.747 6602-6602/ctize.connectplus.com.communitize E/AndroidRuntime: FATAL EXCEPTION: main Process: ctize.connectplus.com.communitize, PID: 6602 android.content.res.Resources$NotFoundException: Resource ID #0x7f07007e at android.content.res.Resources.getValue(Resources.java:1397) at android.content.res.Resources.getDrawable(Resources.java:843) at android.content.Context.getDrawable(Context.java:458) at ctize.connectplus.com.communitize.PostAdapterViewHolder$2.onClick(PostAdapterViewHolder.java:98) at android.view.View.performClick(View.java:5226) at android.view.View$PerformClick.run(View.java:21350) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5582) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Your app crash when the activity concerned should be displayed ?
Check if in you activity you have a drawable v24 like this
Then, if yes, change the display of your files from
Android
toProject
at the very top of the hierarchy of your files : Fromto
And drag and drop the drawable in the directory
drawable v-24
to the directorydrawable
.That's all. Try if it's ok
Edit : I found that the problem may arise on the Android 6 API 23 but not for higher API
By seeing the logs. The problem is in your
drawable
background take a look at it. You have typeX24
image change it and it will fix your problem.Second thing is you are seeing two images at a time. So you need to remove the background that you are setting in your
.xml
file and you are good to go.Try to use checkbox instead of ImageView
These lines are giving you error because of your android version issue.
Follow this https://developer.android.com/guide/topics/graphics/vector-drawable-resources.html#vector-drawables-backward-solution, You should use setImageResource() instead of setImageDrawable()
Please try a clean build, may be the R file is wrong
Check if the drawable resource image is in drawable folder, not drawable-24.
I already have this problem but solve it by moving the image resource to drawable folder.