2013-11-10 2 views
0

ListView를 채울 사용자 지정 어댑터가 있는데, ArrayList가 있습니다. 프로그램을 실행하면 ListView가 arraylist의 첫 번째 객체로 채워집니다.ListView 반복 객체 용 사용자 지정 어댑터

는 I에 유래에 여기에 비슷한 질문을 검색하고 나는 해결책이 plase가, 누군가가 나는 확실하지 않다 나에게

을 Heres playerAdapter.java

public class playerAdapter extends ArrayAdapter<Player>{ 
private ArrayList<Player> entries; 
private Activity activity; 

public playerAdapter(Activity a, int textViewResourceId, ArrayList<Player> entries) { 
    super(a, textViewResourceId, entries); 
    this.entries = entries; 
    this.activity = a; 
} 

public static class ViewHolder{ 
    public TextView item1; 
    public TextView item2; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View v = convertView; 
    ViewHolder holder; 
    if (v == null) { 
     LayoutInflater vi = 
      (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     v = vi.inflate(R.layout.itemplayer, null); 
     holder = new ViewHolder(); 
     holder.item1 = (TextView) v.findViewById(R.id.nomecharlist); 
     //holder.item2 = (TextView) v.findViewById(R.id.small); 
     v.setTag(holder); 
    } 
    else 
     holder=(ViewHolder)v.getTag(); 

    final Player custom = entries.get(position); 
    if (custom != null) { 
     holder.item1.setText(custom.getNomePlayer()); 
     //holder.item2.setText(custom.getSecond()); 
    } 
    return v; 
} 

}

답변

0

도움이 찾을 didnt는 코드에 정확한 문제가 무엇인지는 알지만, 너무 복잡합니다. 다음과 같은 것을 시도하십시오 :

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    if (convertView == null) { 
     LayoutInflater vi = 
      (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = vi.inflate(R.layout.itemplayer, null); 
    } 
    final Player custom = entries.get(position); 
    if (custom != null) 
     ((TextView) convertView.findViewById(R.id.nomecharlist)).setText(custom.getNomePlayer()); 
    return convertView; 
} 
+0

당신이 맞아요, 내 문제가있는 getView, 내 개체와 함께, 미안 해요 !!!!! – user2975369