根据第一个选择填充两个微调器

时间:2015-11-25 20:03:52

标签: android arrays

我正在尝试根据第一个选择器填充两个微调器,所以当我选择第一个微调器中的一个选项时,第二个填充了相应的字符串数组。我是android的新手,我找不到错误,我在if循环中的createFromResource上得到一个错误。这是我的代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

Spinner spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.locations, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
    adapter = ArrayAdapter.createFromResource(
            this, R.array.locations, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(adapter);

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            if(position==5) {
                Spinner spinner2 = (Spinner) findViewById(R.id.spinner);
                ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                        R.array.startlocations, android.R.layout.simple_spinner_item);
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spinner2.setAdapter(adapter);
            }
            else{
                Spinner spinner2 = (Spinner) findViewById(R.id.spinner);
                ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                        R.array.destinations, android.R.layout.simple_spinner_item);
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spinner2.setAdapter(adapter);
            }


            Toast.makeText(getBaseContext(), parent.getItemAtPosition(position) + " is selected", Toast.LENGTH_LONG).show();

        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

1 个答案:

答案 0 :(得分:0)

ArrayAdapter.createFromResource(this,
                    R.array.destinations, android.R.layout.simple_spinner_item);

我认为这是你的问题 尝试替换

ArrayAdapter.createFromResource(ActivityClassName.this,
                    R.array.destinations, android.R.layout.simple_spinner_item);

其中&#34; ActivityClassName&#34;是您活动的名称