Android:ListView 中的许多 Edittexts

标签 android listview android-edittext

这是我的 getView 方法:

    public View getView(final int position, View convertView, final ViewGroup parent) {
        ViewHolder holder;
        if(convertView == null){
            holder = new ViewHolder();
            convertView = inflater.inflate(R.layout.propviewlistrow, null);
            holder.title = (TextView) convertView.findViewById(R.id.propviewlistrow_t1);
            holder.content = (EditText) convertView.findViewById(R.id.propviewlistrow_e1);
            convertView.setTag(holder);
        }
        else{
            holder = (ViewHolder)convertView.getTag();
        }
        holder.title.setText(names.get(position));
        holder.content.setText(values.get(position));       
        holder.content.addTextChangedListener(new TextWatcher(){

            public void afterTextChanged(Editable s) {      
                values.set(position, s.toString());
            }

            public void beforeTextChanged(CharSequence s, int start,
                    int count, int after) {
            }

            public void onTextChanged(CharSequence s, int start,
                    int before, int count) {
                    }

        });
        return convertView;
    }
}

但这行不通。 edittexts 不显示正确的文本,滚动时显示的文本会切换。 下一个问题是,我在 list 中设置了 android:windowSoftInputMode="adjustPan"。 如果您单击进入最后一个编辑文本, ListView 将不会向上滚动到足以让您看到您正在键入的内容。

最佳答案

很抱歉没有直接回答您的问题,但如果我是您,我会重新设计该列表。 用户使用列表中的编辑字段将是主要的 PITA。我会做什么 - 使用长按操作并使用对话框或对话框 Activity 进行编辑,或者使用快速操作模式

http://android-developers.blogspot.com/2010/05/twitter-for-android-closer-look-at.html

关于Android:ListView 中的许多 Edittexts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3710727/

相关文章:

java - 模型类对象列表中的数据未正确检索?

listview - 从 futurebuilder 中删除项目时,它不会更新

Android 下载多个文件并在 ListView 中显示进度

listview - Flutter:当 GestureDetector 中有一个 ListView 时,它显然没有收到 Drag 事件

java - 如何在android中将文件路径转换为文件浏览 View

java - Android安装过程中实时获取权限

Android Key 密码丢失,但我有 keystore 密码

java - 如何在 Android 父 fragment 中 findViewById() (获取 ClassCastException)?

android - Android中将两个float和integer类型的值相加的方法

android - 在 EditText 中,单击特定文本子集时弹出对话框