Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.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/6/eclipse/9.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/8/logging/2.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 使用用户选择的spinnerA中的两个数组(来自string.xml)之一填充spinnerB_Android_Eclipse_Android Spinner - Fatal编程技术网

Android 使用用户选择的spinnerA中的两个数组(来自string.xml)之一填充spinnerB

Android 使用用户选择的spinnerA中的两个数组(来自string.xml)之一填充spinnerB,android,eclipse,android-spinner,Android,Eclipse,Android Spinner,我整晚都在做这件事,脑子里一片迷雾。有谁能给我一个代码snipit,它可以帮助我在创建时填充SpinnerA: ArrayAdapter adapterTypeGas=ArrayAdapter.createFromResource( 这个,R.array.TypeGas,android.R.layout.simple\u微调器\u项); adapterTypeGas.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); 喷

我整晚都在做这件事,脑子里一片迷雾。有谁能给我一个代码snipit,它可以帮助我在创建时填充SpinnerA:

ArrayAdapter adapterTypeGas=ArrayAdapter.createFromResource(
这个,R.array.TypeGas,android.R.layout.simple\u微调器\u项);
adapterTypeGas.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头类型气体。设置适配器(适配器类型气体)

R.array.TypeGas有两种选择:“丙烷气”或“天然气”。根据用户的选择,我希望SpinnerB使用R.array.NaturalGas或R.array.propanagas。我的问题是,微调器是在创建时填充的。如何更改它,使其在选择微调器后才填充?谢谢你的帮助。我是一个相当新的发展,所以如果你能在你的答案,这将是伟大的细节


在实现了“Rastedestoryer”中的代码之后,我在spinnerB的ArrayAdapter的“createFromResource”中得到了一个错误。错误是:类型ArrayAdapter中的方法createFromResource(Context,int,int)不适用于参数(CSSTPipeSizingActivity.OnAssectedListener,int,int)。在main.xml文件中,我必须为spinnerB指定一个数组(该数组存储在strings.xml文件中)使用。我认为这就是问题所在,因为在我的代码中,我告诉它一个不同的数组。关于如何解决这个问题有什么想法吗?

在整个类中添加一个选定的侦听器

public class OnGasSelectedListener implements OnItemSelectedListener {
    public void onItemSelected(AdapterView<?> parent, View view, int pos,
     long id) {
    //set all of spinnerB adapter stuff here

    }
    public void onNothingSelected(AdapterView<?> parent) {}
}
onitemselected将在构建微调器之后立即触发,并且每次用户更改选择时

公共类MainActivity extends活动都会实现OnItemSelectedListener{
        public class MainActivity extends Activity implements OnItemSelectedListener{
    Spinner chooseproject,choosetask;
    public static ArrayList<String>projectnameList,propanegasList,naturalgaslist;
     @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    projectnameList=new ArrayList<String>();
    propanegasList=new ArrayList<String>();
    naturalgaslist=new ArrayList<String>();
    projectnameList.add("Propane Gas");
    projectnameList.add("Natural Gas");
propanegasList.add("p1");
propanegasList.add("p2");
propanegasList.add("p3");
propanegasList.add("p4");
propanegasList.add("p5");
naturalgaslist.add("n1");
naturalgaslist.add("n2");
naturalgaslist.add("n3");
naturalgaslist.add("n4");
naturalgaslist.add("n5");

    chooseproject=(Spinner)findViewById(R.id.chooseproject_dropdown);
            choosetask=(Spinner)findViewById(R.id.choosetask_dropdown);
     chooseproject.setOnItemSelectedListener(this);
    ArrayAdapter<String> projectName=new ArrayAdapter<String>  
                (this,R.layout.dropdow_spinner_dropdown_item,projectnameList);
                projectName.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                chooseproject.setAdapter(projectName);
     choosetask.setOnItemSelectedListener(this);

    }
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            switch(arg0.getId())
            {
            case R.id.chooseproject_dropdown:

                String ProjectName=chooseproject.getSelectedItem().toString();



                  if(ProjectName.equalsIgnoreCase("Propane Gas")
    {
     ArrayAdapter<String> projectTask=new ArrayAdapter<String>
                    (this,R.layout.dropdow_spinner_dropdown_item,propanegasList);
                    projectTask.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    choosetask.setAdapter(projectTask);
    }
    else
    {
    ArrayAdapter<String> projectTask=new ArrayAdapter<String>
                    (this,R.layout.dropdow_spinner_dropdown_item,naturalgaslist);
                    projectTask.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    choosetask.setAdapter(projectTask);
    }
    }


                break;
            case R.id.choosetask_dropdown:   

                String ProjectTaskName=choosetask.getSelectedItem().toString();

                break;
            }  


        }
    }
微调器选择项目,选择任务; 公共静态阵列项目名称列表、propanegasList、自然列表; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); projectnameList=新的ArrayList(); propanegasList=新的ArrayList(); naturalgaslist=新的ArrayList(); 项目名称列表。添加(“丙烷气”); 项目名称列表。添加(“天然气”); propanegasList.添加(“p1”); propanegasList.添加(“p2”); propanegasList.添加(“p3”); propanegasList.添加(“p4”); propanegasList.添加(“p5”); 自然列表。添加(“n1”); 自然列表。添加(“n2”); 自然列表。添加(“n3”); 自然列表。添加(“n4”); 自然列表。添加(“n5”); chooseproject=(微调器)findViewById(R.id.chooseproject\u下拉列表); choosetask=(微调器)findViewById(R.id.choosetask_下拉列表); 选择project.setOnItemSelectedListener(此); ArrayAdapter项目名称=新建ArrayAdapter (这是R.layout.dropdow\u微调器\u下拉项\u项目名称列表); projectName.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项); 选择project.setAdapter(projectName); 选择Task.setOnItemSelectedListener(此); } 已选择公共视图(适配器视图arg0、视图arg1、内部arg2、, 长arg3){ 开关(arg0.getId()) { 案例R.id.chooseproject\u下拉列表: String ProjectName=chooseproject.getSelectedItem().toString(); if(项目名称、同等信号(“丙烷气”) { ArrayAdapter项目任务=新建ArrayAdapter (这是R.layout.dropdow\u微调器\u dropdown\u项目,propanegasList); projectTask.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); 选择setTask.setAdapter(项目任务); } 其他的 { ArrayAdapter项目任务=新建ArrayAdapter (此,右布局。dropdow\u微调器\u dropdown\u项目,自然列表); projectTask.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); 选择setTask.setAdapter(项目任务); } } 打破 案例R.id.choosetask_下拉列表: String ProjectTaskName=ChoosetTask.getSelectedItem().toString(); 打破 } } }
这是我最后使用的代码:

public void main program () {
...
ArrayAdapter<CharSequence> adapterTypeGas = ArrayAdapter.createFromResource(
            this, R.array.TypeGas, android.R.layout.simple_spinner_item);
        adapterTypeGas.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerTypeGas.setAdapter(adapterTypeGas);

    //Sets up the spinnerPipeLength spinner 
    ArrayAdapter<CharSequence> adapterPipeLength = ArrayAdapter.createFromResource(
            this, R.array.PipeLength, android.R.layout.simple_spinner_item);
        adapterPipeLength.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerPipeLength.setAdapter(adapterPipeLength);

    // Listens for changes in the selected item in each spinner 
    spinnerTypeGas.setOnItemSelectedListener(new GASOnItemSelectedListener());
    spinnerSupplyPressure.setOnItemSelectedListener(new    SupplyOnItemSelectedListener());
    spinnerPipeLength.setOnItemSelectedListener(new MyOnItemSelectedListener());
...
} // end mainprogram()

public void SpinnerNatGas() {
    ArrayAdapter<CharSequence> adapterSupplyPressure = ArrayAdapter.createFromResource(
            this, R.array.NaturalGas, android.R.layout.simple_spinner_item);
    adapterSupplyPressure.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerSupplyPressure.setAdapter(adapterSupplyPressure);
    adapterSupplyPressure.notifyDataSetChanged();
} // end SpinnerNatGAs ()

public void SpinnerProGas () {
    ArrayAdapter<CharSequence> adapterSupplyPressure = ArrayAdapter.createFromResource(
            this, R.array.PropaneGas, android.R.layout.simple_spinner_item);
    adapterSupplyPressure.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerSupplyPressure.setAdapter(adapterSupplyPressure);
    adapterSupplyPressure.notifyDataSetChanged();
} // end SpinnerProGAs ()
public void主程序(){
...
ArrayAdapter adapterTypeGas=ArrayAdapter.createFromResource(
这个,R.array.TypeGas,android.R.layout.simple\u微调器\u项);
adapterTypeGas.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头类型气体。设置适配器(适配器类型气体);
//设置喷丝器PipeLength喷丝器
ArrayAdapter adapterPipeLength=ArrayAdapter.createFromResource(
这个,R.array.PipeLength,android.R.layout.simple\u微调器\u项);
adapterPipeLength.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头管道长度。设置适配器(适配器管道长度);
//侦听每个微调器中选定项目的更改
spinnerTypeGas.setOnItemSelectedListener(新的GASOnItemSelectedListener());
喷丝头供应压力。setOnItemSelectedListener(新供应项目SelectedListener());
spinnerPipeLength.setOnItemSelectedListener(新的MyOnItemSelectedListener());
...
}//结束mainprogram()
公共真空喷丝头气体(){
ArrayAdapter适配器供应压力=ArrayAdapter.createFromResource(
这个,R.array.NaturalGas,android.R.layout.simple\u微调器\u项);
adapterSupplyPressure.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头供应压力。设置适配器(适配器供应压力);
适配器供应压力。notifyDataSetChanged();
}//端喷丝头气体()
公共空间喷丝头程序(){
ArrayAdapter适配器供应压力=ArrayAdapter.createFromResource(
这个,R.array.PropaneGas,android.R.layout.simple\u微调器\u项);
adapterSupplyPressure.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转
public void main program () {
...
ArrayAdapter<CharSequence> adapterTypeGas = ArrayAdapter.createFromResource(
            this, R.array.TypeGas, android.R.layout.simple_spinner_item);
        adapterTypeGas.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerTypeGas.setAdapter(adapterTypeGas);

    //Sets up the spinnerPipeLength spinner 
    ArrayAdapter<CharSequence> adapterPipeLength = ArrayAdapter.createFromResource(
            this, R.array.PipeLength, android.R.layout.simple_spinner_item);
        adapterPipeLength.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerPipeLength.setAdapter(adapterPipeLength);

    // Listens for changes in the selected item in each spinner 
    spinnerTypeGas.setOnItemSelectedListener(new GASOnItemSelectedListener());
    spinnerSupplyPressure.setOnItemSelectedListener(new    SupplyOnItemSelectedListener());
    spinnerPipeLength.setOnItemSelectedListener(new MyOnItemSelectedListener());
...
} // end mainprogram()

public void SpinnerNatGas() {
    ArrayAdapter<CharSequence> adapterSupplyPressure = ArrayAdapter.createFromResource(
            this, R.array.NaturalGas, android.R.layout.simple_spinner_item);
    adapterSupplyPressure.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerSupplyPressure.setAdapter(adapterSupplyPressure);
    adapterSupplyPressure.notifyDataSetChanged();
} // end SpinnerNatGAs ()

public void SpinnerProGas () {
    ArrayAdapter<CharSequence> adapterSupplyPressure = ArrayAdapter.createFromResource(
            this, R.array.PropaneGas, android.R.layout.simple_spinner_item);
    adapterSupplyPressure.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerSupplyPressure.setAdapter(adapterSupplyPressure);
    adapterSupplyPressure.notifyDataSetChanged();
} // end SpinnerProGAs ()