update
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
package com.shayu.onetoone.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.EditText;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.shayu.onetoone.R;
|
||||
import com.shayu.onetoone.bean.MsgGreetConfigBean;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MsgGreetConfigAdapter extends RecyclerView.Adapter<MsgGreetConfigAdapter.ViewHolder> {
|
||||
List<MsgGreetConfigBean> mList;
|
||||
Context mContext;
|
||||
OnItemClickListener<Integer> deleteListener;
|
||||
|
||||
public MsgGreetConfigAdapter(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
this.mList = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void setList(List<MsgGreetConfigBean> mList) {
|
||||
this.mList = mList;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void setDeleteListener(OnItemClickListener<Integer> deleteListener) {
|
||||
this.deleteListener = deleteListener;
|
||||
}
|
||||
|
||||
public List<MsgGreetConfigBean> getNotEmptyList() {
|
||||
List<MsgGreetConfigBean> tmp = new ArrayList<>();
|
||||
for (MsgGreetConfigBean bean : mList) {
|
||||
if (bean.getContent() != null) {
|
||||
tmp.add(bean);
|
||||
}
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
|
||||
return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_msg_greet_config, viewGroup, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
|
||||
viewHolder.setData(mList.get(i), i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mList.size();
|
||||
}
|
||||
|
||||
public void addItem(MsgGreetConfigBean msgGreetConfigBean) {
|
||||
mList.add(msgGreetConfigBean);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder {
|
||||
private EditText editText;
|
||||
private View edit;
|
||||
private View del;
|
||||
|
||||
public ViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
editText = itemView.findViewById(R.id.editTextText);
|
||||
edit = itemView.findViewById(R.id.edit);
|
||||
del = itemView.findViewById(R.id.del);
|
||||
editText.setEnabled(false);
|
||||
}
|
||||
|
||||
public void setData(MsgGreetConfigBean bean, int position) {
|
||||
del.setOnClickListener(v -> {
|
||||
mList.remove(position);
|
||||
if (deleteListener != null) {
|
||||
deleteListener.onItemClick(mList.size(), position);
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
});
|
||||
edit.setOnClickListener(v -> {
|
||||
editText.setEnabled(true);
|
||||
editText.requestFocus();
|
||||
});
|
||||
if (bean.getContent() == null) {
|
||||
editText.setEnabled(true);
|
||||
editText.setText("");
|
||||
} else {
|
||||
editText.setText(bean.getContent());
|
||||
editText.setEnabled(false);
|
||||
}
|
||||
|
||||
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
|
||||
@Override
|
||||
public void onFocusChange(View v, boolean hasFocus) {
|
||||
Log.i("编辑", "onFocusChange: " + hasFocus);
|
||||
if (!hasFocus && editText.getText().toString().length() > 0) {
|
||||
mList.get(position).setContent(editText.getText().toString());
|
||||
editText.setEnabled(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user