Reputation:
Code
@Override
protected void onBindViewHolder(@NonNull final Chat.MessagesViewHolder holder, final int position, @NonNull final MessagesHelper model) {
holder.setMessage(model.getMessage());
final String userId = getRef(position).getKey();
final DatabaseReference mTimeReference = FirebaseDatabase.getInstance().getReference().child("Messages").child(MessageSenderId).child(MessageRecieverId);
Query messageQuery = mTimeReference.limitToLast(10);
messageQuery.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
final String from_user = model.getFrom();
final boolean Seen = model.isSeen();
MessagesHelper message = dataSnapshot.getValue(MessagesHelper.class);
messagesList.add(message);
messageList.scrollToPosition(messagesList.size() - 1);
}
Modal
public class MessagesHelper {
private String From;
private String Message;
private String Type;
private boolean Seen;
private boolean Online;
private long Time;
public MessagesHelper() {
}
public MessagesHelper(String From, String Message, String Type, boolean Seen, boolean Online, long Time) {
this.From = From;
this.Message = Message;
this.Type = Type;
this.Seen = Seen;
this.Online = Online;
this.Time = Time;
}
public String getFrom() {
return From;
}
public void setFrom(String from) {
this.From = from;
}
public String getMessage() {
return Message;
}
public void setMessage(String message) {
this.Message = message;
}
public String getType() {
return Type;
}
public void setType(String type) {
this.Type = type;
}
public boolean isSeen() {
return Seen;
}
public void setSeen(boolean seen) {
this.Seen = seen;
}
public boolean isOnline() {
return Online;
}
public void setOnline(boolean Online) {
this.Online = Online;
}
public long getTime() {
return Time;
}
public void setTime(long time) {
this.Time = time;
}
}
If the type = "Link" i want the item to be clickable... How can i achieve this???
Upvotes: 0
Views: 161
Reputation: 226
you can check type like this and set item view clickable.
if(type.equals("Link"))
{
holder.itemView.setClickable(true);
holder.itemView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
// do smoethink
}
});
}
else
{
holder.itemView.setClickable(false);
}
Upvotes: 1