【问题标题】:How to change Spinner-Array in Android Studio?如何在 Android Studio 中更改 Spinner-Array?
【发布时间】:2020-10-31 17:24:04
【问题描述】:

我想通过在我的 Spinner1 上选择一些东西来更改我的 Spinner2 的微调器数组。 这意味着如果我将 spinner1 的选定项目更改为位置 2,3 等,听众必须更改我的 spinner2 的全部项目。 (Strings.xml 中的数组) 我尝试将其设置为另一个适配器,但不起作用... 谁能帮我?谢谢 这是我的代码:

public class DamenBH extends AppCompatActivity implements AdapterView.OnItemSelectedListener{

Spinner spinner1;
Spinner spinner2;

ArrayAdapter<CharSequence> adapter1;
ArrayAdapter<CharSequence> adapter65, adapter70, adapter75;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_damen_b_h);


    spinner1 = findViewById(R.id.spinner1);
    adapter1 = ArrayAdapter.createFromResource(this, R.array.beispiel1, android.R.layout.simple_spinner_item);
    adapter1.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
    spinner1.setAdapter(adapter1);
   
    spinner2 = findViewById(R.id.spinner2);
    spinner2.setOnItemSelectedListener(this);
    adapter65 = ArrayAdapter.createFromResource(this, R.array.beispiel2, android.R.layout.simple_spinner_item);
    adapter65.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
    spinner2.setAdapter(adapter65);


    adapter70 = ArrayAdapter.createFromResource(this, R.array.beispiel3, android.R.layout.simple_spinner_item);
    adapter70.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
    adapter75 = ArrayAdapter.createFromResource(this, R.array.beispiel4, android.R.layout.simple_spinner_item);
    adapter75.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
   



    spinner1.setOnItemSelectedListener(this);
   


}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {



    switch (position) {
        case 0:
            spinner2.setAdapter(adapter65);

      break;
        case 1:

            spinner2.setAdapter(adapter70);
            break;
        case 2:
            spinner2.setAdapter(adapter75);
            break;
    }
}

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

}

}

【问题讨论】:

    标签: android spinner adapter


    【解决方案1】:

    我想出了这个,它似乎对我来说很好。

    package com.example.energydrinkapp;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    
    import java.lang.reflect.Array;
    
    public class EnterInfoActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
    
        Spinner manufacturer;
        ArrayAdapter<CharSequence> manufacturerAdapter;
    
        Spinner flavor;
        ArrayAdapter<CharSequence> flavorAdapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_enter_info);
    
            manufacturer = (Spinner) findViewById(R.id.spinner_manufacturer);
            manufacturer.setOnItemSelectedListener(this);
            manufacturerAdapter = ArrayAdapter.createFromResource(this, R.array.manufacturer_array, android.R.layout.simple_spinner_item);
            manufacturerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            manufacturer.setAdapter(manufacturerAdapter);;
    
        }
    
        public void flavorArraySet(int flavors){
            flavor = (Spinner) findViewById(R.id.spinner_flavor);
            flavorAdapter = ArrayAdapter.createFromResource(this, flavors, android.R.layout.simple_spinner_item);
            flavorAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            flavor.setAdapter(flavorAdapter);
        }
    
    
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    
            if (position == 0){
                Log.e("array","none");
            }
    
            else if (position == 1){
                Log.e("array", "monster");
                flavorArraySet(R.array.monster_array);
            }
    
            else if (position == 2){
                Log.e("array", "red bull");
                flavorArraySet(R.array.redbull_array);
            }
    
            else if (position == 3){
                Log.e("array", "reign");
                flavorArraySet(R.array.reign_array);
            }
        }
    
        @Override
        public void onNothingSelected(AdapterView<?> parent) {
    
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多