Как строку сделать ссылкой?
Я отправляю сообщение и у меня в случае если к нему прикреплён файл отображается под сообщением его имя, размер и тип,
public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.ChatViewHolder>{
private Context mCtx;
private List<Message> chatList;
private Chat nickname;
public MessageAdapter(Context mCtx, List<Message> chatList,Chat nickname) {
this.mCtx = mCtx;
this.chatList = chatList;
this.nickname=nickname;
}
@NonNull
@Override
public MessageAdapter.ChatViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mCtx).inflate(R.layout.chatitem, parent, false);
return new MessageAdapter.ChatViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MessageAdapter.ChatViewHolder holder, int position) {
final Message chat = chatList.get(position);
if(nickname.getId().equals(chat.getReciver())) {
holder.t1.setText("вы");
}
else
{
holder.t1.setText(nickname.getNickname());
}
holder.t2.setText(chat.getCreatedAt());
String text=chat.getMessage();
if(!chat.getFiles().isEmpty()) {
text+="\n"+chat.getFiles().get(0).getOriginalName()+" size "+chat.getFiles().get(0).getSize();
}
holder.t3.setText(text);
/* if(!chat.getFiles().isEmpty()) {
TextView t = new TextView(mCtx);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
t.setText(chat.getFiles().get(0).getOriginalName()+" size "+chat.getFiles().get(0).getSize());
t.setBackgroundColor(Color.GREEN);
holder.l.addView(t,lp);
}*/
}
@Override
public int getItemCount() {
return chatList.size();
}
class ChatViewHolder extends RecyclerView.ViewHolder{
TextView t1, t2,t3;
public ChatViewHolder(@NonNull View itemView) {
super(itemView);
t1 = itemView.findViewById(R.id.textView3);
t2 = itemView.findViewById(R.id.textView4);
t3 = itemView.findViewById(R.id.textView5);
}
}
}
И item самого сообщения :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/liner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TextView" />
</LinearLayout>
<TextView
android:id="@+id/textView5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
Как сделать так, чтоб этот текст был ссылкой и при нажатии на это имя файла выполнялся api запрос получить файл?
