2015-09-19 3 views
0

У меня есть проблема в моем проекте ... я не знаю, как это исправить ... NullPointerExceptionNullPointerException в ListView в Android

это мой MainActivity экстентов Фрагмент

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_finding__bus_staion, container, false); 
    listView = (ListView) view.findViewById(R.id.lvBusStation); 
String begin = "Tất Cả"; 
String finish = "Tất Cả"; 
    LoadListView(begin, finish); 
    return view; 
} 
public void LoadListView(String from,String to){ 
    chuyendi.clear(); 
    for (int i = 0 ; i < chuyenXes.size() ;i++){ 
     chuyendi.add(chuyenXes.get(i)); 
    } 
    if (listView!=null) 
     listView=null; 
    if (!(from.equals("Tất Cả"))) { 
     for (int i = 0 ; i < chuyenXes.size() ;i++){ 
      if (chuyenXes.get(i).getNoidi().equals(from)){ 
       chuyendi.add(chuyenXes.get(i)); 
      } 
     } 
    } 
    if (!(to.equals("Tất Cả"))){ 
     for (int i = 0 ; i < chuyendi.size() ;i++){ 
      if (!(chuyendi.get(i).getNoiden().equals(to))){ 
       chuyendi.remove(i); 
      } 
     } 
    } 
    myAdapter = new BusStationAdapter(getActivity(),chuyendi); 
    listView.setAdapter(myAdapter); //NULLPointerException in this line 

} 

может кто-то помогите мне :(как это исправить?

+1

мат почему ListView! = NULL ListView = нуль ?? –

+0

why 'if (listView! = Null) listView = null;' это причина для 'listView.setAdapter (myAdapter); // NULLPointerException в этой строке' – Rustam

+0

, потому что если я вызову LoadListView (from, to) с новым и новым, чтобы снова ... он очистит старый список и покажет новое listview ... i remove if (listView! = null) listView = null; и он работает, но не может удалить старый список. –

ответ

0

удалить это

if (listView!=null) 
     listView=null; 
-1

Почему ты listView = NULL? Если listview == null, вы не можете установить адаптер для ListView. Таким образом, вы должны удалить

if (listView!=null) 
    listView=null; 
+0

, потому что если я вызову LoadListView (from, to) с новым и новым, чтобы снова ... он очистит старое listview и покажет новое listview ... i remove if (listView! = Null) listView = null; и он работает, но не может удалить старый список. –

+0

Удалить старый список? Вы можете использовать notifyDataSetChanged из adater для обновления данных. – user5353081

0

ваша ошибка происходит из-за этой линии

chuyendi.clear(); 

думать в виду, что если chuyendi уже пусто, то нет ничего, чтобы ясно, то это будет через NullPointer исключением

if(chuyendi.length()>0){ 
chuyendi.clear(); 
} 
0

Редактировать выбранное состояние beca используйте первый раз, когда ваш список не равен null, поэтому условие истинно, и ваше представление списка становится нулевым. проверьте это нормально.

if (listView!=null) 
     listView=null; 

права,

if (listView==null) 
     //create again list view object. 
Смежные вопросы