2014-10-24 2 views
0

MyAdapter 클래스에서 아래 코드와 같이 (Context context, String[] values) 매개 변수를 전달합니다. getView() 메소드에서 String[] values 변수를 사용하고 싶습니다. getView() 메소드에이 변수를 전달할 여지가 있습니까?ArrayAdapter의 getView() 메소드에 더 많은 매개 변수 전달

class MyAdapter extends ArrayAdapter<String> { 
    public MyAdapter(Context context, String[] values) { 
     super(context, R.layout.row_layout_2, values); 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     LayoutInflater theInflater = LayoutInflater.from(getContext()); 
     View theView = theInflater.inflate(R.layout.row_layout_2, parent, false); 
     String tvShow = getItem(position); 
     TextView theTextView = (TextView) theView.findViewById(R.id.textView1); 
     theTextView.setText(tvShow); 
     ImageView theImageView = (ImageView) theView.findViewById(R.id.imageView1); 
     theImageView.setImageResource(R.drawable.dot); 
     return theView; 
    } 
} 

답변

4

당신은

private final String[] items; 

그런 다음 생성자가

public MyAdapter(Context context, String[] values) { 
    super(context, R.layout.row_layout_2, values); 
    this.items = values; 
} 

과 같을 것이다 항목의 인스턴스 변수를 저장하고 게터를 가질 수 등

public String[] getItems() { 
    return items; 
}