2014-10-21 2 views
0

В моем приложении я сканирую устройство 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 ..

Благодаря

+0

что 'mLeDeviceListAdapter'? вы должны инициализировать его перед выполнением любой операции. – Rustam

+0

Покажите нам код "Адаптер списка кустов" – ToYonos

ответ

1

инициализации mLeDeviceListAdapter

mLeDeviceListAdapter=new LeDeviceListAdapter(); 
Смежные вопросы