Android: много текстов редактирования в ListView

это мой метод 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;
    }
}

Но это не работает. Тексты редактирования не отображают правильный текст, отображаемый текст переключается при прокрутке. Следующая проблема заключается в том, что я установил android:windowSoftInputMode="adjustPan" в манифесте. Если вы нажмете на последний текст редактирования, список не будет прокручиваться достаточно, чтобы вы могли видеть, что вы печатаете.


person Fr4gg0r    schedule 14.09.2010    source источник


Ответы (1)


Извините, что не ответил на ваш вопрос напрямую, но на вашем месте я бы изменил этот список. Для пользователя будет важным PITA использовать поля редактирования в списке. Что бы я сделал - либо использовал действие длительного нажатия и отобразил диалоговое окно или диалоговое действие для редактирования, либо использовал шаблон быстрых действий.

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

person Alex Volovoy    schedule 14.09.2010