1

我有一个 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 不为空。

谢谢你的建议!

4

0 回答 0