zee*_*eks 8 java android onclicklistener android-recyclerview
我正在使用Android的聊天应用程序,我使用RecyclerView列出消息.
我已经编写了适配器,但是我在检测布局中的元素(本例中是TextView)被点击时遇到了问题.
这是我的适配器:
public class ChatRoomThreadAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private class ViewHolder extends RecyclerView.ViewHolder {
TextView message, timestamp;
private ViewHolder(View view) {
super(view);
message = (TextView) itemView.findViewById(R.id.message);
timestamp = (TextView) itemView.findViewById(R.id.timestamp);
}
}
public ChatRoomThreadAdapter(Context mContext, ArrayList<Message> messageArrayList, String userId) {
this.mContext = mContext;
this.messageArrayList = messageArrayList;
this.userId = userId;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView;
itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.chat, parent, false);
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
((ViewHolder) holder).message.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (((ViewHolder) holder).timestamp.getVisibility() == View.GONE) {
((ViewHolder) holder).timestamp.setVisibility(View.VISIBLE);
} else {
((ViewHolder) holder).timestamp.setVisibility(View.GONE);
}
}
});
}
@Override
public int getItemCount() {
return messageArrayList.size();
}
}
Run Code Online (Sandbox Code Playgroud)
当前的onClick可以工作,但我必须单击两次message才能触发onClick.为了解决这个问题,我一直在寻找和尝试3天无休止的解决方案,但到目前为止,互联网上的解决方案都没有奏效.
kin*_*918 12
确保按钮上同时显示focusableInTouchMode和focusable禁用.第一次单击将获得焦点,第二次单击将执行onClickListener.
.
| 归档时间: |
|
| 查看次数: |
2905 次 |
| 最近记录: |