我爲微調器創建了一個自定義的適配器類,它可以獲取對象類型值。但奇怪的是它在代碼中顯示出一些錯誤。Spinner適配器不能正常工作
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);
它顯示了此關鍵字錯誤。我該如何解決它?如果不是這個,應該通過什麼COntext?
'this'應該罰款。什麼是錯誤? – Raghunandan
構造函數SpinAdapter(CityActivity,int,ArrayList)未定義 –
Apporv回答了您的問題。 '這個'與你的錯誤沒有任何關係 – Raghunandan