Я разрабатываю приложение для Android с использованием eclipse. У меня есть listview, и каждая строка содержит EditText. Когда я нажимаю на EditText, я хочу сделать две вещи.setText метод не работает для editText в listview после вызова 'notifyDataSetChanged'
1: Перезагрузите все EditText с текстами из моего массива данных.
2: Установите текст щелчка EditText на константную строку (скажем, «0»).
Для этого я использовал приведенный ниже onclicklisetner для EditText.
myEdittext.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
adapter.notifyDataSetChanged();//adapter is my arrayadapter of the listview
EditText clickedText = (EditText)v;
clickedText.setText("0");
}
});
Как вы можете видеть, я использую «notifyDataSetChanged» метод для перезагрузки EditTexts в ListView и метод «SetText», чтобы установить щелкнул текст EditText на «0».
Но метод 'setText' не работает. Если я прокомментирую строку «adapter.notifyDataSetChanged()», то работает метод setText.
Я также попытался сделать это, вызвав метод setText после задержки (чтобы проверить, что notifyDataSetChanged запускает новый поток), но не удалось.
Как я могу заставить оба метода работать в моем методе onClick.
Спасибо заранее.
Я не могу этого сделать. Если пользователь не вводит правильное значение в текстовое поле, массив не должен изменяться. Я хочу установить текст только тогда, когда пользователь нажимает на текстовое поле. – jjpp
@jjpp Простой в onClick() проверяет, правильно ли был установлен текстовый фильтр, и измените массивList только в том случае, если он был установлен правильно – pvn
В случае, если в правильной настройке textView вы имеете в виду только целые числа, тогда вы можете установить свойство TextView таким образом что можно ввести только целые числа – pvn