我有一个ListFragment,其中列出了所有可用的蓝牙设备。但是,当我在应用程序中切换片段而不是切换回ListFragment时,适配器中的所有数据仍然存在,但List不显示任何内容。这是代码 :
ArrayAdapter<String> listAdapter;
ArrayList<BluetoothDevice> allDevices;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
listAdapter = new ArrayAdapter<String>(inflater.getContext(),
android.R.layout.simple_list_item_1);
setListAdapter(listAdapter);
if (allDevices != null) {
for (BluetoothDevice device : allDevices) {
listAdapter.add(device.getName()+ "\n" + device.getAddress());
}
listAdapter.notifyDataSetChanged();
}
return super.onCreateView(inflater, container, savedInstanceState);
}
当我第一次向ArrayAdapter添加项目并调用notifyDataSetChanged时,它完全正常。但是,当我离开ListFragment而不是回来时,它应该显示与之前相同的List,但它没有显示任何内容。甚至不像以前那样再次将数据添加到ArrayAdapter。我在onCreateView函数中将数据添加到ArrayAdapter的ArrayList不为空。
感谢您的建议!