2016-06-01 2 views
0

Я вызываю Arraylist в CustomAdapter, с custom_row.xml, который содержит нужную строку. Я хочу, чтобы первые два элемента arraylist бок о бок подряд, а затем третий и четвертый элементы в другой строке и так далее. Я написал этот код, чтобы напечатать первый элемент из Arraylist. если я удалю комментарии и затем запустим, я получаю ту же ошибку, что и при размещении комментариев. Я не знаю, где я ошибаюсь.Передача массиваList в пользовательском адаптере

или, может быть, должен быть правильный путь.

class CustomAdapter extends ArrayAdapter { 

List<String> names; 
LayoutInflater inflater; 
Context context; 
public CustomAdapter(Context context, List<String> names) { 
    super(context,R.layout.custom_row ,names); 
    this.names=names; 
    this.context=context; 
} 


@Override 
public View getView(int position, View convertView, ViewGroup parent) { 


    inflater=LayoutInflater.from(getContext()); 
    View customview=inflater.inflate(R.layout.custom_row,parent,false); 
    String data=names.get(position); 
    //String data1=names.get(position+1); 
    TextView tv=(TextView)customview.findViewById(R.id.TeamA); 
    tv.setText(data); 
    //TextView tv1=(TextView)customview.findViewById(R.id.TeamB); 
    //tv1.setText(data1); 
    return customview; 
} 

Я получаю это error- java.lang.NullPointerException: попытка вызвать виртуальный метод «недействительным android.widget.TextView.setText (java.lang.CharSequence)» на нулевой ссылки на объект на ком .example.CustomAdapter.getView

+0

ты инициализирован 'name' список? – Mohit

ответ

1

проблема в том, что tv имеет нулевое значение, то есть потому, что findViewById(R.id.TeamA) возвращает нулевое значение, так .. проверить, что TeamA существует в R.layout.custom_row