the*_*itz 3 android android-arrayadapter
有没有办法替换ArrayAdapter中的值
mPairedDevicesArrayAdapter = new ArrayAdapter<String>(this, R.layout.device_name);
..
..
for (BluetoothDevice device : pairedDevices) {
String name = MPGDeviceDetailsControl.getDeviceDetails(this, device.getAddress(), device.getName()).getDisplayName();
mPairedDevicesArrayAdapter.add(name + "\n" + device.getAddress());
}
Run Code Online (Sandbox Code Playgroud)
如果我希望替换其中一个条目,有任何方法可以不删除和重新输入.问题在于它把它置于底部.
zap*_*apl 14
这样的东西应该可以替换物品
int i = 0;
for (BluetoothDevice device : pairedDevices) {
String name = MPGDeviceDetailsControl.getDeviceDetails(this, device.getAddress(), device.getName()).getDisplayName();
mPairedDevicesArrayAdapter.remove(name); // has to copy all items back 1 position
mPairedDevicesArrayAdapter.insert(name + "\n" + device.getAddress(), i); // copy them +1 again
i++;
}
Run Code Online (Sandbox Code Playgroud)
但是如果你有权访问支持这个ArrayAdapter的List并替换/修改它,它会更有效率.
ArrayList<Strign> mList = new ArrayList<String>();
mPairedDevicesArrayAdapter = new ArrayAdapter<String>(this, R.layout.device_name, mList);
// setup
mList.add...
mPairedDevicesArrayAdapter.notifyDatasetChanged();
// change something
mList.set(i, newValue); // just a replace, no copy
mPairedDevicesArrayAdapter.notifyDatasetChanged();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10501 次 |
| 最近记录: |