jam*_*pez 4 android listview android-listview
我已经搜索过这个,但无济于事我没有得到问题的确切答案.
我有一个按钮ListView,当点击该按钮时,它会显示一个警告对话框来选择日期,选择日期后,所选日期将是该按钮的文本.代码工作正常,但当我向下滚动时,日期将随机更改这里是我getView()的适配器方法的代码.这也发生EditText在我输入任何EditText工作时,但当我开始滚动时,值也会改变.
这是我的获取视图方法
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder;
if(convertView == null){
convertView = layoutInflater.inflate(R.layout.repeat_entry_listview,null);
viewHolder = new ViewHolder();
viewHolder.btnDate = (Button) convertView.findViewById(R.id.rpbtnDate);
viewHolder.txtNotes = (EditText) convertView.findViewById(R.id.rpNotes);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
RepeatEntryList repeatEntryList = listData.get(position);
viewHolder.btnDate.setText(repeatEntryList.getDate());
viewHolder.btnDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//EVEN IF I REMOVE THE CODE FOR SETTING THE BUTTON TEXT TO JUST LIKE THE BELOW CODE. SCROLLING ISSUES STILL PERSIST
viewHolder.btnDate.setText("just sample date text");
//**NOTE UPDATED**
//MY EDITTEXT ALSO HAVE THE SAME BEHAVIOR
}
});
viewHolder.txtNotes.setHint(contx.getResources().getString(R.string.placeholder_txt));
return convertView;
}
Run Code Online (Sandbox Code Playgroud)
注意:比方说,我有20个按键和20 EditText内ListView.当我输入所有内容EditText并通过单击更改按钮的文本时,然后向下滚动向上ListView,文本或值的EditText按钮将更改或交换,有时会消失.
关于我的问题,有人可以向我解释为什么ListView这样做以及如何避免这种特定的行为.
如果(convertView == null){} else {}条件,请删除代码中的更改并直接使用如下
convertView = layoutInflater.inflate(R.layout.repeat_entry_listview,null);
Button btnDate = (Button) convertView.findViewById(R.id.rpbtnDate);
TextView txtNotes = (EditText) convertView.findViewById(R.id.rpNotes);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3029 次 |
| 最近记录: |