File-Settings-Editor-Live Templates,选中Android,点右边加号,输入Abbreviation为快捷关键字,在下面的Template text输入以下代码
import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
import cn.silence795.daxiang.R;
public class $name$Adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context mContext;
private List<$bean$> mList = new ArrayList<>();
private final int TYPE_NORMAL = 1;
private final int TYPE_BOTTOM = 2;
private OnLis mOnLis;
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
if (mContext == null) mContext = parent.getContext();
if (viewType == TYPE_NORMAL) {
return new Holder(LayoutInflater.from(mContext).inflate(R.layout.$layout$, null));
} else {
TextView textView = new TextView(mContext);
textView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
textView.setGravity(Gravity.CENTER);
textView.setText("没有更多数据了");
return new BottomHolder(textView);
}
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int position) {
if (viewHolder instanceof Holder) {
Holder holder = (Holder) viewHolder;
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mOnLis.onItemClick(viewHolder.getAdapterPosition(), mList.get(viewHolder.getAdapterPosition()));
}
});
$bean$ bean = mList.get(holder.getAdapterPosition());
} else {
mOnLis.onLoadMore();
}
}
@Override
public int getItemCount() {
return mList.size()+1;
}
public void autoAdd(List<$bean$> list) {
if (list.size() == 0) return;
if (mList.size() == 0) {
mList.addAll(list);
notifyDataSetChanged();
} else {
int start = getItemCount();
mList.addAll(list);
notifyItemRangeInserted(start - 1, list.size());
}
notifyItemRangeRemoved(getItemCount() - 1, 1);
}
public void refresh(List<$bean$> list){
mList.clear();
mList.addAll(list);
notifyDataSetChanged();
}
public List<$bean$> getList() {
return mList;
}
@Override
public int getItemViewType(int position) {
if (position == mList.size()) {
return TYPE_BOTTOM;
} else {
return TYPE_NORMAL;
}
}
class Holder extends RecyclerView.ViewHolder {
public Holder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
class BottomHolder extends RecyclerView.ViewHolder {
public BottomHolder(@NonNull View itemView) {
super(itemView);
}
}
public void setOnLis(OnLis onLis) {
mOnLis = onLis;
}
public interface OnLis {
void onMoreClick(String title, String id);
void onItemClick(int position, $bean$ bean);
void onLoadMore();
}
}