В моем приложении я сканирую устройство Bluetooth. Во время чтения я получаю исключение Nullpointer Exception, ниже - фрагмент кода.Исключение Nullpointer при чтении устройства Bluetooth
private BluetoothAdapter.LeScanCallback mLeScanCallback =
new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, int rssi,
byte[] scanRecord) {
// TODO Auto-generated method stub
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
1. mLeDeviceListAdapter.addDevices(device);
2. mLeDeviceListAdapter.notifyDataSetChanged();
}
});
}
}
Я получаю NullPointerException в выше линии № 1. Здесь mLeDeviceListAdapter является объектом логотипо списка адаптера.
public class LeDeviceListAdapter extends BaseAdapter{
private ArrayList<BluetoothDevice> mLeDevices;
private LayoutInflater mInflator;
Bundle savedInstanceState;
public LeDeviceListAdapter() {
// TODO Auto-generated constructor stub
super();
mLeDevices = new ArrayList<BluetoothDevice>();
mInflator = AvailableDevices.this.getLayoutInflater(savedInstanceState);
}
public void addDevices(BluetoothDevice device){
if(!mLeDevices.contains(device)){
mLeDevices.add(device);
}
}
В методе OnActivityCreated я вызываю все вышеперечисленные функции, как показано ниже.
public class AvailableDevices extends ListFragment {
public void onActivityCreated(Bundle savedInstanceState) {
LeDeviceListAdapter dListAdapter = new LeDeviceListAdapter();
setListAdapter(dListAdapter);
scanLeDevice(true);
}
Функция scanLeDevice вызывается методом mLeScanCallback.
Где я пропускаю, чтобы получить NullPointerException ..
Благодаря
что 'mLeDeviceListAdapter'? вы должны инициализировать его перед выполнением любой операции. – Rustam
Покажите нам код "Адаптер списка кустов" – ToYonos