2016-06-01 8 views
0

Ich rufe eine Arraylist in einem CustomAdapter mit custom_row.xml auf, die die gewünschte Zeile enthält. Ich möchte zuerst zwei Elemente der Arraylist Seite an Seite in einer Reihe, und dann drittes und viertes Element in der anderen Reihe und so weiter. Ich habe diesen Code geschrieben, nur um das erste Element aus der Arraylist zu drucken. Wenn ich die Kommentare entferne und dann laufe, bekomme ich den gleichen Fehler wie beim Setzen von Kommentaren. Ich weiß nicht, wo ich falsch liege.passing arrayList in Benutzerdefinierter Adapter

oder vielleicht was sollte der richtige Weg sein.

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; 
} 

Ich erhalte diese fehler- java.lang.NullPointerException: Der Versuch, virtuelle Methode 'Leere android.widget.TextView.setText (java.lang.CharSequence)' auf ein Null-Objekt Verweis aufrufen bei com .example.CustomAdapter.getView

+0

haben Sie initialisierten 'name' Liste? – Mohit

Antwort

1

Das Problem ist, weil tv null ist, das heißt, weil findViewById(R.id.TeamA) gibt null zurück, so .. prüfen, ob TeamA in R.layout.custom_row existiert

Verwandte Themen