我正在开发一个Android应用,其中有注册页面。我需要显示国家/地区数据,我正在使用Android微调器来显示带有数组适配器的国家/地区数据。我使用以下代码:
country = (Spinner) findViewById(R.id.signup_countries_spinner);
ArrayAdapter adapter201 = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, CountriesName);
country.setAdapter(adapter201);
country.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
// InputMethodManager inputMethodManager = (InputMethodManager)
// getSystemService(Activity.INPUT_METHOD_SERVICE);
// inputMethodManager.hideSoftInputFromWindow(getCurrentFocus()
// .getWindowToken(), 0);
return false;
}
});
country.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int pos, long arg3) {
// TODO Auto-generated method stub
countrycode = (TextView) findViewById(R.id.signup_code);
countrycode.setText("+" + CountriesObjects.get(pos).getCalling_code());
countrycode.setEnabled(false);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
此代码适用于Android 4.4.4,但当应用程序在5.0+上运行时,下拉列表不会显示任何值。我不知道5.0后的问题是什么原因。
答案 0 :(得分:-1)
试试这个......
......
ArrayAdapter<String> adapter201 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, CountriesName);
adapter201.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
country.setAdapter(adapter201);
.....