Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从1填充spiner2并能够选择spiner2值和toast选择_Android_Arrays_String_Spinner_Bind - Fatal编程技术网

Android 从1填充spiner2并能够选择spiner2值和toast选择

Android 从1填充spiner2并能够选择spiner2值和toast选择,android,arrays,string,spinner,bind,Android,Arrays,String,Spinner,Bind,这就是我所拥有的 微调器1阵列 <!--for spinner 1--> <string-array name="Manu_array"> <item>Manu 1xsd</item> <item>Manu 2xrsd</item> <item>Manu 3x4rsd</item> </string-array> 手动1xsd 马努2xrsd Manu 3x4rsd 微调

这就是我所拥有的

微调器1阵列

 <!--for spinner 1-->
 <string-array name="Manu_array">
 <item>Manu 1xsd</item>
 <item>Manu 2xrsd</item>
 <item>Manu 3x4rsd</item>
 </string-array>

手动1xsd
马努2xrsd
Manu 3x4rsd
微调器2阵列

<!--for spinner 2-->

<string-array name="Manu 1xsd">
<item>a1</item>
<item>a2</item>
<item>a3</item>
<item>a4</item>
</string-array>

 <string-array name="Manu 2xrsd">
 <item>bg 1</item>
 <item>bg 2</item>
 </string-array>

 <string-array name="Manu 3x4rsd">
 <item>z1</item>
 <item>z2</item>
 <item>zd4</item>
 <item>xs5</item>
 <item>fg34</item>
 </string-array>

a1
a2
a3
a4
bg 1
bg 2
z1
z2
zd4
xs5
fg34
所以旋转器1我会选择“Manu 3x4rsd”,然后旋转器2“xs5”,我会烤“Manu 3x4rsd”+“xs5”

微调器1选择的我的Java代码:

final Spinner[] spinner1 = {(Spinner) findViewById(R.id.Spinner1)};

 // Create an ArrayAdapter using the string array and a default spinner layout
 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
 R.array.Manu_array, R.layout.textview);

  spinner1[0].setAdapter(adapter);
  // Specify the layout to use when the list of choices appears
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  // Apply the adapter to the spinner
  spinner1[0].setAdapter(adapter);

  spinner1[0].setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

  public void onItemSelected(AdapterView<?> arg0, View arg1,
                               int arg2, long arg3) {

        int index = arg0.getSelectedItemPosition();
        // storing string resources into Array
        Manu= getResources().getStringArray(R.array.Manu_array);

        Toast.makeText(getBaseContext(), "You have selected : " + Manu[index],
                Toast.LENGTH_SHORT).show();

   }

    public void onNothingSelected(AdapterView<?> arg0) {
        // do nothing
    }
});
final Spinner[]spinner1={(Spinner)findViewById(R.id.spinner1)};
//使用字符串数组和默认微调器布局创建ArrayAdapter
ArrayAdapter=ArrayAdapter.createFromResource(此,
R.array.Manu_数组,R.layout.textview);
喷丝头1[0]。设置适配器(适配器);
//指定显示选项列表时要使用的布局
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//将适配器应用于微调器
喷丝头1[0]。设置适配器(适配器);
喷丝头1[0]。setOnItemSelectedListener(新建AdapterView.OnItemSelectedListener()){
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
int index=arg0.getSelectedItemPosition();
//将字符串资源存储到数组中
Manu=getResources().getStringArray(R.array.Manu_数组);
Toast.makeText(getBaseContext(),“您已选择:”+Manu[index],
吐司。长度(短)。show();
}
未选择公共无效(AdapterView arg0){
//无所事事
}
});
Spinner 2选择的Java代码

final  Spinner Spinner2= (Spinner) findViewById(R.id.Spinner2);
Spinner1[0].setOnItemSelectedListener(new adapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
 int arrayId = 0;
 switch (position) {//get array id according to selected position
 case 0:
 arrayId = R.array.Manu_1xsd_array;
 break;
 case 1:
 arrayId = R.array.Manu_2xrsd;
 break;
 case 2:
 arrayId = R.array.Manu_3x4rsd.array;
 break;
 };

 ArrayAdapter<CharSequence> adapterL =   ArrayAdapter.createFromResource(settings.this, arrayId, R.layout.textview);
Spinner1.setAdapter(adapterL);

String Spinner1 = Spinner1.getSelectedItem().toString();

Toast.makeText(getBaseContext(), "You have selected : " + Spinner1,
Toast.LENGTH_SHORT).show();

                }

                public void onNothingSelected(AdapterView<?> arg0) {
            // do nothing
        }
final Spinner Spinner2=(Spinner)findViewById(R.id.Spinner2);
喷丝头1[0]。setOnItemSelectedListener(新建adapterView.OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView父视图、视图selectedItemView、整型位置、长id){
int-arrayId=0;
开关(位置){//根据所选位置获取数组id
案例0:
arrayId=R.array.Manu_1xsd_数组;
打破
案例1:
arrayId=R.array.Manu_2xrsd;
打破
案例2:
arrayId=R.array.Manu_3x4rsd.array;
打破
};
ArrayAdapter Adapter=ArrayAdapter.createFromResource(settings.this、arrayId、R.layout.textview);
喷丝头1.设置适配器(适配器L);
字符串Spinner1=Spinner1.getSelectedItem().toString();
Toast.makeText(getBaseContext(),“您已选择:”+Spinner1,
吐司。长度(短)。show();
}
未选择公共无效(AdapterView arg0){
//无所事事
}
问题是,虽然我可以看到在微调器2中填充的值并滚动浏览它们,似乎我可以选择它们,但我没有代码来执行选择它们和生成toast的任何操作。我已尝试在微调器中创建一个侦听器,但我无法执行任何操作以使其按预期运行

因此,我怀疑我正在以完全错误的方式处理这个问题

一旦我可以烘烤微调器1和微调器2所选的值,我就应该能够将它们组合起来,从字符串列表中读取,并将它们组合起来生成一个命令


想要使用微调器来获得视觉效果,而不是仅仅为了选择所需的值而滚动一个巨大的列表。

以下代码根据第一个微调器中选择的值填充第二个微调器,并在选择第二个微调器中的项目时显示toast

        final Spinner s1= (Spinner) findViewById(R.id.Spinner1);
        final Spinner s2= (Spinner) findViewById(R.id.Spinner2);
        final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Manu_array, R.layout.textview);

        s1.setAdapter(adapter);
        s1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                int arrayId = 0;
                switch (position) {//get array id according to selected position
                    case 0:
                        arrayId = R.array.Manu_1xsd_array;
                        break;
                    case 1:
                        arrayId = R.array.Manu_2xrsd;
                        break;
                    case 2:
                        arrayId = R.array.Manu_3x4rsd.array;
                        break;
                }
                ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, arrayId, R.layout.textview);
                s2.setAdapter(adapter);
            }

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

            }
        });
        s2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String msg = s1.getSelectedItem().toString() + s2.getAdapter().getItem(position).toString();
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
            }

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

            }
        });
final Spinner s1=(Spinner)findviewbyd(R.id.Spinner1);
最终喷丝器s2=(喷丝器)findViewById(R.id.喷丝器2);
最终ArrayAdapter adapter=ArrayAdapter.createFromResource(this,R.array.Manu_array,R.layout.textview);
s1.设置适配器(适配器);
s1.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
int-arrayId=0;
开关(位置){//根据所选位置获取数组id
案例0:
arrayId=R.array.Manu_1xsd_数组;
打破
案例1:
arrayId=R.array.Manu_2xrsd;
打破
案例2:
arrayId=R.array.Manu_3x4rsd.array;
打破
}
ArrayAdapter=ArrayAdapter.createFromResource(this,arrayId,R.layout.textview);
s2.设置适配器(适配器);
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
s2.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
字符串msg=s1.getSelectedItem().toString()+s2.getAdapter().getItem(位置).toString();
Toast.makeText(getApplicationContext(),msg,Toast.LENGTH_SHORT).show();
}
@凌驾
未选择公共无效(AdapterView父级){
}
});

再次感谢,很明显我把事情弄得太复杂了,我得把这个改成设置。这个,像个魔术师一样工作,非常感谢。