Android:ListFragment中的onDataSetChanged()调用不起作用

时间:2014-03-04 14:23:14

标签: android android-fragments android-listfragment notifydatasetchanged

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

感谢您的建议!

0 个答案:

没有答案