Android ListView 在滚动时重复编辑文本值

标签 android listview

我有一个 listview,每行有一个 textview 和一个 edit text。如果我在一个编辑文本字段中设置一个值,然后向下滚动,我会在其他一些编辑文本字段中得到该输入字段值的重复值。我该如何解决这个问题?

我的适配器类如下所示:

public class CustomAdapter extends ArrayAdapter<String> {
  private Context       context;
  private String[]  names;
  ViewHolder holder;

  static class ViewHolder {
    public TextView text;
    public EditText editText;
  }

  public CustomAdapter(Context context, int textViewResourceId, String[] names) {
    super(context, textViewResourceId, names);
    this.context = context;
    this.names = names;
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.row_design, parent, false);
        holder = new ViewHolder();
        holder.text = (TextView) convertView.findViewById(R.id.textView1);
        holder.editText = (EditText) convertView.findViewById(R.id.editText1);
        convertView.setTag(holder);         
    } else {            
        holder = (ViewHolder) convertView.getTag();
    }

    String s = names[position];
    holder.text.setText(s);
    return convertView;
  }
}

我提到了这个链接: Listview duplicate action , Android listview duplicates the item on scroll

最佳答案

这个问题的第一个原因是 Listview 在滚动时重用它的 View , 所以我们应该在我们的 get View 中有一个逻辑来管理它

if(convertview == null)
{
 //code here 
}else {
 //code here 
}    

, 但如果您不想重复使用,则可以使用以下内容:

 @Override
  public int getItemViewType(int position) {
    return position;
}

@Override
public int getViewTypeCount() {
    return 500;
}

关于Android ListView 在滚动时重复编辑文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19556702/

相关文章:

Android ListView 图像四处移动

android - ZXing.Net.Mobile 的 Xamarin.Android 相机权限仅在应用重启后有效

android - 如何使用 ToggleButton android

android - 从其他 Activity 的列表中删除项目

android - 复选框无法与 ListView 一起正常工作

java - 从某个字节开始下载

java - 纹理未缩放 OpenGL ES 2.0

c# - ListView 内的 Xamarin Forms 命令绑定(bind)不起作用

android - ListView 不在 NestedScrollView 内部滚动

android - 是否可以在Android中使用WebView播放Youtube视频