2013-02-14 43 views
1

這裏是2份我的節目的轉換集<BluetoothDevice類>到BluetoothDevice類[]

1.

Set<BluetoothDevice> pairedDevices; 
BluetoothDevice[] pairedDevicesArray; 

2.

pairedDevices = btAdapter.getBondedDevices(); 
//pairedDevicesArray = (BluetoothDevice[]) pairedDevices.toArray(); 

問題是與註釋的line.Uncommenting它使我的應用程序停止。是不可能將上面的Set轉換爲array,這樣我就可以在array中隨機訪問BluetoothDevice對象年。

新到Java和Android

更新:使用pairedDevicesArray = pairedDevices.toArray(new BluetoothDevice[0]);代替上述註釋行解決了problem.What的區別?

+0

非常感謝。 pairedDevicesArray = pairedDevices.toArray(new BluetoothDevice [0]);是節約的恩典。 – pandorym 2014-04-02 02:38:31

回答

1

可以像您嘗試的那樣獲取Set內容作爲數組。您需要檢查返回的值getBondedDevices爲非空。根據文件,如果有錯誤,BluetoothAdapter.getBondedDevices()可返回null

pairedDevices = btAdapter.getBondedDevices(); 
if(null != pairedDevices){ 
    pairedDevicesArray = (BluetoothDevice[]) pairedDevices.toArray(); 
} 
相關問題