Вызвать виртуальный метод 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' для ссылки на пустой объект

Привет у меня возникли проблемы с решением этой ошибки

это ошибка, введите описание изображения здесь

У меня проблема с заполнением списка в моем фрагменте. Мой фрагмент представляет собой вкладку, и я предполагаю, что это может быть, где моя проблема.

Я надеюсь, что вы можете мне помочь Спасибо, ребята

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;


/**
  * Created by Mark Angelo on 1/13/2016.
 */  
public class ListFragment extends Fragment {


TextView code,name,quantity,total;
ListView lv;
List<List_Items> myList = new ArrayList<List_Items>();


public ListFragment(){

}

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);


}



@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,       Bundle savedInstanceState) {
    View view =  inflater.inflate(R.layout.list_fragment_layout,container,false);

    populateList();
    populateListView();


    //lv = (ListView)getActivity().findViewById(R.id.client_listView);

    return view;
}


private void populateList() {

    myList.add(new List_Items("19912","Mark Angelo Bajaro", "1", "1993"));
    myList.add(new List_Items("12812","Jonas Zaldua","3","18841"));
    myList.add(new List_Items("2323", "Thor Sevilla", "1", "12121"));

}

private void populateListView() {

    ArrayAdapter<List_Items> adapter = new MyListAdapter();
    ListView list =  (ListView)getActivity().findViewById(R.id.client_listView);
    list.setAdapter(adapter);
}



private class MyListAdapter extends ArrayAdapter<List_Items> {
    public MyListAdapter() {super(getActivity(), R.layout.list_content_layout, myList); }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View itemview = convertView;
        if(itemview == null){
            itemview = getActivity().getLayoutInflater().inflate(R.layout.list_content_layout,parent,false);
        }

        List_Items currentlist = myList.get(position);

        code = (TextView)itemview.findViewById(R.id.code_contentent);
        name = (TextView)itemview.findViewById(R.id.name_content);
        quantity = (TextView)itemview.findViewById(R.id.quantity_content);
        total = (TextView)itemview.findViewById(R.id.total_content);

        code.setText(currentlist.getCode());
        name.setText(currentlist.getClient_name());
        quantity.setText(currentlist.getQuantity());
        total.setText(currentlist.getTotal());


        return itemview;
    }


}

}

2 ответа

Решение

Ваш ListView внутри макета фрагмента? Или это в макете деятельности.

Если это в макете фрагмента, попробуйте изменить

ListView list =  (ListView)getActivity().findViewById(R.id.client_listView);

в

ListView list =  (ListView) view.findViewById(R.id.client_listView);

Надеюсь, что это решает.

NullPointerException возникает, когда вы пытаетесь вызвать какую-то функцию, которая не была инициализирована, вы только что объявили, попробуйте проверить, совпадают ли идентификаторы, если вы инициализировали по ссылке из макета XML или инициализировали

Другие вопросы по тегам