Spinner值未在Android 5.0中显示

时间:2016-10-28 12:20:40

标签: android spinner android-arrayadapter

我正在开发一个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后的问题是什么原因。

1 个答案:

答案 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);
     .....