java - 动态添加的列表视图上的列表视图编号
问题描述
我想为视图添加编号。添加步骤时,数字可以从 1 到 2 到 3 等等。
有没有办法做到这一点以及删除它的数字下降?如图所示,在我输入号码的地方有一个灰色圆圈。
活动
View stepView = getLayoutInflater().inflate(R.layout.item_steps,null,false);
private void addStepsView() {
View stepView = getLayoutInflater().inflate(R.layout.item_steps,null,false);
EditText etStepsDetails = (EditText)stepView.findViewById(R.id.etStepsDetails);
ImageView ivStepsImage = (ImageView) stepView.findViewById(R.id.ivStepsImage);
ImageView imageDelete = (ImageView)stepView.findViewById(R.id.ivDelete);
TextView tvStepPos = (TextView) stepView.findViewById(R.id.tvStepsPosition);
ivStepsImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CropImage.activity()
.setAspectRatio(1,1)
.start(PostActivity.this);
}
});
imageDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
removeStepsView(stepView);
}
});
// tvStepPos.setText(String.valueOf(""+1));
layoutStepList.addView(stepView);
}
private void removeStepsView(View view){
layoutStepList.removeView(view);
}
适配器
public class StepsAdapter extends RecyclerView.Adapter<StepsAdapter.StepsViewHolder> {
private Context nContext;
private List<Steps> stepList;
private FirebaseUser firebaseUser;
private String[] numberWord;
private LayoutInflater inflater;
private StepsAdapter.OnItemClickListener mListener;
public interface OnItemClickListener {
void onItemClick(int position);
void onDeleteClick(int position);
}
public StepsAdapter(Context context, List<Steps> stepList,String[] numberWord) {
this.nContext = context;
this.numberWord = numberWord;
this.stepList = stepList;
}
public void setOnItemClickListener(StepsAdapter.OnItemClickListener listener){
mListener = listener;
}
@NonNull
@Override
public StepsAdapter.StepsViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
//View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recipe_item, viewGroup, false);
View view = LayoutInflater.from(nContext).inflate(R.layout.recipe_item, viewGroup, false);
return new StepsAdapter.StepsViewHolder(view, mListener);
}
@Override
public void onBindViewHolder(@NonNull StepsAdapter.StepsViewHolder holder, int i) {
firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
Steps currentItem = stepList.get(i);
int pos = i+1;
holder.tvStepsPosition.setText(""+pos);
Steps steps = stepList.get(i);
holder.tvStepsList.setText(steps.getSteps());
//holder.ivStepsImage.setImageResource();
Glide.with(nContext).load(steps.getStepsImage())
.apply(new RequestOptions().placeholder(R.drawable.ic_image))
.into(holder.ivStepsImage);
}
@Override
public int getItemCount() {
return stepList.size();
}
public Steps getSteps(int position){
return stepList.get(position);
}
class StepsViewHolder extends RecyclerView.ViewHolder {
ImageView ivStepsImage;
TextView tvStepsPosition;
TextView tvStepsList;
ImageView ivDelete;
StepsViewHolder(View itemView, final StepsAdapter.OnItemClickListener listener) {
super(itemView);
tvStepsList = itemView.findViewById(R.id.etStepsDetails);
ivStepsImage = itemView.findViewById(R.id.ivStepsImage);
ivDelete = itemView.findViewById(R.id.ivDelete);
tvStepsPosition = itemView.findViewById(R.id.tvStepsPosition);
ivDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(listener != null){
int position = getAdapterPosition();
if(position != RecyclerView.NO_POSITION){
listener.onDeleteClick(position);
}
}
}
});
}
}
}
解决方案
推荐阅读
- pipeline - 如果规则的 shell 命令是集群作业,Snakemake 可以工作吗?
- javascript - 如何更改传递参数的函数?
- r - 分段函数的卷积
- python - 将二维数组与数组 Python 进行比较
- javascript - JavaScript 从数组中删除元素
- android - 在 Kotlin 上单击图像查看
- reactjs - ReactJS 如何在 app.js 文件中使用路由器的道具
- android - Android SDK 工具 - 安装错误
- python - 在 django 中获取与一个 id 对应的所有图像
- android - 如何从 Android 应用程序进行呼叫转发