Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
Java 如何使用微调器项_Java_Android_Spinner - Fatal编程技术网

Java 如何使用微调器项

Java 如何使用微调器项,java,android,spinner,Java,Android,Spinner,我希望在选择特定项目(如项目2)时有特定的操作,但对任何其他项目(如项目1、3、4)有通用操作 这是我的代码: private String[] array_spinner = new String[4]; private thetiki mContext; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstan

我希望在选择特定项目(如项目2)时有特定的操作,但对任何其他项目(如项目1、3、4)有通用操作

这是我的代码:

    private String[] array_spinner = new String[4];
    private thetiki mContext;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mContext = this;
        setContentView(R.layout.main2);

        array_spinner[0] = "Mathimatika Genikis Paideias";
        array_spinner[1] = "Fusiki Genikis Paideias";
        array_spinner[2] = "Istoria Genikis Paideias";
        array_spinner[3] = "Viologia Genikis Paideias";

        Spinner s = (Spinner)findViewById(R.id.spinner);
        ArrayAdapter adapter = 
            new ArrayAdapter(this, android.R.layout.simple_spinner_item, 
                array_spinner);
        s.setAdapter(adapter);

        // more code
   apostoli.setOnClickListener(new OnClickListener() {

                private AlertDialog show;

                public void onClick(View arg0) {

if (...) {


        if (array_spinner[2] != null) {
            //do something  

        } else if (array_spinner[0] != null || array_spinner[1] != null || array_spinner[3] != null) {

            //do something else
        }
    }

在这种情况下,数组_微调器[index]永远不会为空。你已经初始化了,怎么可能?您需要设置一个侦听器来处理微调器中的选择,如下所示:

s.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        if(pos == 2) {
            //do specific action
        } else {
            //do generic action
        }
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
        //do nothing
    }
});
s.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共位置(AdapterView父项、视图、整数位置、长id){
如果(位置==2){
//采取具体行动
}否则{
//做一般动作
}
}
@凌驾
未选择公共无效(AdapterView父级){
//无所事事
}
});

请参阅中的详细信息。

数组中的微调器[index]在这种情况下永远不会为空。你已经初始化了,怎么可能?您需要设置一个侦听器来处理微调器中的选择,如下所示:

s.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        if(pos == 2) {
            //do specific action
        } else {
            //do generic action
        }
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
        //do nothing
    }
});
s.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共位置(AdapterView父项、视图、整数位置、长id){
如果(位置==2){
//采取具体行动
}否则{
//做一般动作
}
}
@凌驾
未选择公共无效(AdapterView父级){
//无所事事
}
});

请参阅。

中的更多信息。您能更清楚地说明您的问题吗?您能更清楚地说明您的问题吗?我在一个按钮上有一个if会话。我想将微调器用于此按钮的if。那么,是否有可能将on-SetOnItemSelected Listener转换为另一个?不是您描述的方式,否。如果要从微调器获取所选项目位置,请查看微调器文档——从AdapterView继承的方法,具体来说,请为此提供一个方法。:)我真的不明白。我在想用一个开关方法。实际上你可以用一个开关方法,但是你要打开什么?当前选定的微调器项,对吗?如何获得所选项目的位置?我想的是:switch(array_spinner.length){case array_spinner[2]://执行我的工作中断;}我在一个按钮上有一个if会话。我想在这个按钮的if中使用微调器..所以,是否可以将on-setOnItemSelectedListener转换为另一个?不是您描述的方式,不是。如果您想从微调器获取所选项目的位置,请查看微调器文档--从AdapterView继承的方法,具体来说,提供一个方法。:)我真的不明白。我在想用一个开关方法。实际上你可以用一个开关方法,但是你要打开什么?当前选定的微调器项,对吗?如何获得所选项目的位置?我的想法是:switch(array_spinner.length){case array_spinner[2]://执行我的工作中断;}