2014-12-07 2 views
0

배열 어댑터를 사용하여 채울 간단한 목록보기가 있습니다. 나는 그 안에 끈을 넣고 싶다. 내가 가진 것은 나에게 의미가 있지만, 아무 것도 표시되지 않으므로 명확하게 작동하지 않는다! 나는 내 오류가 여기에 있다는 것을 확신합니다 :ArrayAdapter 목록보기에 아무 것도 표시하지 않습니다.

public class PartiesAdapter extends ArrayAdapter<String> { 

private List<String> parties; 

public PartiesAdapter(Context context, int resource, List<String> list) { 
    super(context, resource); 
    this.parties = list; 
} 

@Override 
public View getView(int position, View view, ViewGroup parent) { 
    if (view == null) { 
     LayoutInflater viewInflator = LayoutInflater.from(getContext()); 
     view = viewInflator.inflate(R.layout.parties_item, null); 
    } 
    String party = parties.get(position); 

    TextView party_name = (TextView) view.findViewById(R.id.party_item); 
    party_name.setText(party); 

    return view; 
} 
} 

각 행을 정확하게 채울 수 있습니까?

+0

처럼 붙박이 목록을 사용합니다. – Emmanuel

+0

방금 ​​더 이상 어댑터가 없지만 나머지 어댑터를 게시했습니다 – 9er

+0

파티는 절대 안됩니다 .. LOL .. 선생님? – Elltz

답변

0

대신 어댑터에 자신의 목록에 변수를 사용하는, 당신은 어댑터의 모든 코드를 게시하시기 바랍니다이

public class PartiesAdapter extends ArrayAdapter<String> { 

    public PartiesAdapter(Context context, int resource, List<String> list) { 
     super(context, resource,list); 
    } 

    @Override 
    public View getView(int position, View view, ViewGroup parent) { 
     if (view == null) { 
      LayoutInflater viewInflator = LayoutInflater.from(getContext()); 
      view = viewInflator.inflate(R.layout.parties_item, parent,false); 
     } 
     String party = getItem(position); 

     TextView party_name = (TextView) view.findViewById(R.id.party_item); 
     party_name.setText(party); 

     return view; 
    } 
}  
+0

또한 inflating하는 동안 null을 넘기지 않도록하고'view = viewInflator.inflate (R.layout.parties_item, parent, false)'와 같은 것을 사용해야합니다. – Panther

0

ArrayAdapter을 확장하는 방식으로 인해 문제가 발생합니다.

ArrayAdapter(android.content.Context, int, java.util.List<T>)

그냥 ArrayAdapter는 다른 사용자가 지정할 수 있습니다이 생성자의 버전 ID를 사용자가 제공하는 레이아웃에 TextView이 있거나 사용해야합니다 기억 : ArrayAdapter 당신이 원하는 않는이 생성자가 레이아웃 내의 TextView.

사용 사례로 ArrayAdapter을 확장 할 필요가 없습니다.

0

는 뭔가를하려고 나는이 또한 PartiesAdapter을 삭제

new ArrayAdapter(context, R.layout.parties_item, R.id.party_item, parties) 

ArrayAdapter

@Override 
public int getCount(){ 
    return parties.size(); 
} 
+0

이미 알고 있기 때문에'ArrayAdapter'를 확장하지 않을 때'BaseAdapter'를 구현하면 true입니다 'List'의 크기. 그것은 생성자에 전달됩니다. – Emmanuel

0

getCount() 메소드를 구현하는 대신

new PartiesAdapter(...) 

호출하는 데 필요한 밝혀 ArrayAdapter은 즉시 사용할 수 있습니다.

관련 문제