全部。
当我使用notifyDataSetChanged()时,列表视图显示顺序将发生变化。
像这样
- 3
- 2
-
1
当前活动创建时。但是当我更改数据时。这将是
- 1
- 2
- 3
我不想改变顺序,我不明白为什么会发生这种情况。
这是我的适配器类中的一段代码
public static class ItemAdapter extends BaseAdapter {
private String[] mData;
private LayoutInflater mInflater;
// I called this method to change data
public void setEditText(int position, final String item) {
mData[position] = item;
notifyDataSetChanged();
}
}
我在像这样的对话框中更改数据
builder = new AlertDialog.Builder(ct);
builder.setTitle(R.string.pickStatus)
.setView(edBuffer)
.setPositiveButton(R.string.save, new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog, int id) {
// TODO Auto-generated method stub
canPop = true;
final String tmp = edBuffer.getText().toString();
KbonezLog.e(String.format( "set into key %d", key));
//use mData key to set value
setEditText(key, tmp);
dialog.dismiss();
}})
如果没有看到适配器的完整源代码,很难判断发生了什么,但这听起来像是 getView() 实现中的一个问题。每次调用 getView() 时must重新绑定所有数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)