2014-01-17 2 views
0

회 전자에 대한 사용자 지정 어댑터 클래스를 만들었습니다.이 어댑터 클래스는 개체 유형 값을 가질 수 있습니다. 그러나 괴괴 망측 한 그것 부호에있는 약간 과실을 보여주는.회 전자 어댑터가 작동하지 않습니다.

SpinAdapter 클래스

public class SpinAdapter extends ArrayAdapter<Country> 
{ 
    private Context context; 
    private Country[] values; 

    public SpinAdapter(Context context, int textViewResourceId, Country[] values) 
    { 
     super(context, textViewResourceId, values); 
     this.context = context; 
     this.values = values; 
    } 

    public int getCount(){ 
     return values.length; 
    } 

    public Country getItem(int position){ 
     return values[position]; 
    } 

    public long getItemId(int position){ 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
      TextView label = new TextView(context); 
     label.setTextColor(Color.BLACK); 
     label.setText(values[position].getName()); 
     return label; 
    } 
    @Override 
    public View getDropDownView(int position, View convertView, 
      ViewGroup parent) { 
     TextView label = new TextView(context); 
     label.setTextColor(Color.BLACK); 
     label.setText(values[position].getName()); 

     return label; 
    } 
} 

활동

public class CityActivity extends Activity { 

EditText cityNameTxtBox; 
EditText cityAboutTxtBox; 
EditText cityPopulationTxtBox; 

private Spinner mySpinner; 
    private SpinAdapter adapter; 
    ArrayList<Country> countries; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_city); 
    // Show the Up button in the action bar. 
    setupActionBar(); 

    Country aCountry = new Country("a","1"); 
    Country bCountry = new Country("b","2"); 
    Country cCountry = new Country("c","3"); 
    countries.add(aCountry); 
    countries.add(bCountry); 
    countries.add(cCountry); 

    adapter = new SpinAdapter(this, android.R.layout.simple_spinner_item, countries); 

    mySpinner = (Spinner) findViewById(R.id.countrySpinner); 
    mySpinner.setAdapter(adapter); 

} 
} 

문제는 내가에서 onCreate 안에 새로운 SpinAdapter의 인스턴스를 만들려고 노력하고 있어요 때 보여주고있다(). 키워드에 대한 오류를 보여주는

adapter = new SpinAdapter(this, android.R.layout.simple_spinner_item, countries); 

그것. 나는 그것을 어떻게 고쳐야 할까? 전달해야할 대상은 무엇입니까? ?

+0

대신 Country[]을 통과'this' 잘해야한다. 오류가 무엇입니까? – Raghunandan

+0

생성자 SpinAdapter (CityActivity, int, ArrayList )가 정의되지 않았습니다. –

+0

Apporv가 질문에 답변했습니다. '이'당신의 오류와 아무 상관이 없습니다 – Raghunandan

답변

5

ArrayList<Country>SpinnerAdapter 생성자에 전달했지만 Country[]을 전달해야합니다.

이것이 오류를주는 이유입니다.

어느 쪽이 당신의 생성자를 변경하거나 ArrayList<Country>

+0

예 .. 고마워 .. 나중에 그걸 깨달았다. :-) –

+0

당신은 환영합니다 ... – Apoorv

관련 문제