https://www.ptt.cc/bbs/AndroidDev/M.1451090467.A.79A.html
這是上次的問題,
我有抓到問題了,
我implements library然後使用裡面的fuction
//宣告ArrayList mDevices1
public ArrayList<BluetoothDevice> mDevices1 = new ArrayList<BluetoothDevice>();
//使用library function,還是這裡會做在library package裡面,這樣讓我取不到?
@Override
public void bluetoothDeviceListBeenRenewed(BluetoothList bluetoothList) {
//mDevices1 = bluetoothList;
mDevices1.addAll(bluetoothList);
// 這裡打印的出來mDevices01,而且bluelist確定有東西也有打印出來
Log.e("mDevices1", String.valueOf(mLeDevices1));
}
我只有在這個function印得出來mDevices1,
不過在如onCreate or 其他地方要拿來用,
就拿不到mDevices1就為空的陣列
存不回去上面宣告的mDevices1那
我想問看看有什麼關鍵字!
現在完全沒有方向...
你先放log看oncreate先還是這個function先如果callback函式,再create是還沒執行就是null如果不是這樣,就是另外的原因了
function執行才有塞值,在還沒塞值就問他答案,當然會是null
可是我有用個loop迴圈讓他一直塞,剛剛測試了一下,在外面給他一個String XX="1",然後fun把它設成"2"裡面當然是沒問題的"2",不過在外面其他地方就是"1"
你的敘述聽起來似乎是兩個不同的ArrayList?會不會是這個 Library 複製了你的 ArrayList 才操作?
對耶,你裡面寫m"Le"Devices1,不一樣????
bluetoothDeviceListBeenRenewed我猜應該是一個callback 如果是 你拿不到值是正常的
作者: KeySabre (KeySabreur) 2015-12-28 23:48:00
onCreate時list還沒被callback設值吧? 能否再敘述清楚一點呢
作者: bear0221 (小小黑) 2015-12-29 08:43:00
試著在callback時再去set adapter callback未回前先用pr