Java Android,单击其他微调器后微调器项目消失

Java Android,单击其他微调器后微调器项目消失,java,android,android-studio,fragment,spinner,Java,Android,Android Studio,Fragment,Spinner,场景:假设片段中有2个微调器,称为微调器a和b: 微调器a包含:狗-猫-大象 微调器bcontain:micky、minny、moe 我的问题是:当用户使用应用程序时,单击Spinnera,然后选择elephant,Spinnerb选项中的micky和minny选项是否会消失,只留下moe作为选项 最好的方法是什么?(不使用任何数据库) xml: 是的,你可以,但不能用你的方式。 对于spinner a来说没问题,但是对于b来说,您应该从Java代码中进行日常管理。 向微调器A添加一个侦听器,并

场景:假设片段中有2个微调器,称为微调器
a
b

微调器
a
包含:狗-猫-大象

微调器
b
contain:micky、minny、moe

我的问题是:当用户使用应用程序时,单击Spinner
a
,然后选择
elephant
,Spinner
b
选项中的
micky
minny
选项是否会消失,只留下
moe
作为选项

最好的方法是什么?(不使用任何数据库)

xml:


是的,你可以,但不能用你的方式。 对于spinner a来说没问题,但是对于b来说,您应该从Java代码中进行日常管理。 向微调器A添加一个侦听器,并根据所选项目A修改微调器b的字符串数组

听众:

Spinner spinner_a = (Spinner) findViewById(R.id.spinner_a);
spinner_a.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                // retrieve selected item
                String spinner_a_choice = parent.getItemAtPosition(position).toString();
                // elaborate and set here your spinner b with its own adapter
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // Something else
            }
        });
Spinner-Spinner\u a=(Spinner)findViewById(R.id.Spinner\u a);
微调器_a.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
//检索所选项目
字符串微调器_a_choice=parent.getItemAtPosition(position.toString();
//在此详细说明并设置带有自己适配器的微调器b
}
@凌驾
未选择公共无效(AdapterView父级){
//别的
}
});
如何将适配器添加到微调器(必须对其进行操作):

Spinner-Spinner\u b=(Spinner)findViewById(R.id.Spinner\u b);
ArrayAdapter=ArrayAdapter.createFromResource(这个,R.array.value\u b,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
微调器设置适配器(适配器);

对不起,我不是很好,因为我使用的是fragment,在ArrayAdapter
getActivity().getApplicationContext()中我应该如何更改“this”但请注意,如果片段已分离,它将返回null。请注意,出现null指针异常错误,这里是logcat:[link]()这是因为片段已分离。很抱歉,我不知道如何帮你解决这个问题。我从来都是在没有活动的情况下工作。如果您找到了解决方案,我的代码将解决您的问题
<resources>
<string-array name="value_a">
    <item>dog</item>
    <item>cat</item>
    <item>Elephant</item>
    </string-array>
<string-array name="value_b">
    <item>micky</item>
    <item>minny</item>
    <item>moe</item>
</string-array>
package...
import....
public class testing123 extends Fragment{

    final Spinner a123 = (Spinner) getView().findViewById(R.id.spinner_a);
    final Spinner b123 = (Spinner) getView().findViewById(R.id.spinner_b);

    final String ax = a123.getSelectedItem().toString();
    final String bx = b123.getSelectedItem().toString();

    if (ax.equals("elephant")) { 
     //what is the best way to do it?
    }else{}
}
Spinner spinner_a = (Spinner) findViewById(R.id.spinner_a);
spinner_a.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                // retrieve selected item
                String spinner_a_choice = parent.getItemAtPosition(position).toString();
                // elaborate and set here your spinner b with its own adapter
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // Something else
            }
        });
Spinner spinner_b = (Spinner) findViewById(R.id.spinner_b);

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.value_b, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner_b.setAdapter(adapter);