繁体   English   中英

如何检查用户是否从android中的微调器中选择了项目?

[英]How to check whether user selected item from spinner in android?

我有一个包含微调器的活动,该微调器具有一些项目列表,并且我有一个名为“提交”的按钮,首次提交按钮变为禁用状态时,只有在用户从微调器中选择项目后,如果未选择,提交将保持启用状态,对于我必须在按钮单击上设置条件。如何执行该代码:-

m_OperatorSpinner = (Spinner) m_Main.findViewById(R.id.operator_spinner);
    ArrayAdapter<COperatorStorage> adapter = new ArrayAdapter<COperatorStorage>(getActivity(), R.layout.recharge_item, CRechargeOperatorList.item);
    m_OperatorSpinner.setAdapter(adapter);
    m_OperatorSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            COperatorStorage operatorName = CRechargeOperatorList.item[position];
            selectedOperatorCode = operatorName.code;
            Log.e(TAG, "Operator code:-" + selectedOperatorCode);

        }

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

        }
    });
public void checkforEmpty() {
    if (NetworkUtil.isConnected(getActivity())) {
        if (m_szMobileNumber.length() == 13) {
            if (m_szAmount.length() != 0) {
                if (selectedOperatorCode!=null){
                    m_SubmitButton.setEnabled(true);
                    m_SubmitButton.setBackgroundColor(Color.rgb(0, 80, 147));// set background color on eabled
                    m_SubmitButton.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            proceedToRecharge(v);
                        }
                    });
                }else {
                    m_SubmitButton.setEnabled(false);
                    m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192));
                }

            } else {
                m_SubmitButton.setEnabled(false);
                m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192));
            }
        } else {
            m_SubmitButton.setEnabled(false);
            m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192));
        }
    } else {
        try {
            CSnackBar.getInstance().showSnackBarError(m_Main.findViewById(R.id.mainLayout), "No Internet Connection Available", getActivity());

        } catch (Exception e) {
            e.printStackTrace();
        }
        m_SubmitButton.setEnabled(false);
        m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192));
    }
}

寻找位置,您只需测试位置:

例:

if(position==1){
   //what to do here
}else if(position==2){
   //what to do here
}

在onItemSelected中将一些布尔标志设置为true,并根据标志的状态启用提交按钮。

boolean isItemSelected ;

    m_OperatorSpinner = (Spinner) m_Main.findViewById(R.id.operator_spinner);
        ArrayAdapter<COperatorStorage> adapter = new ArrayAdapter<COperatorStorage>(getActivity(), R.layout.recharge_item, CRechargeOperatorList.item);
        m_OperatorSpinner.setAdapter(adapter);
        m_OperatorSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                COperatorStorage operatorName = CRechargeOperatorList.item[position];
                selectedOperatorCode = operatorName.code;
                Log.e(TAG, "Operator code:-" + selectedOperatorCode);
    if(position!=0){
    isItemSelected = true;
}else{
isItemSelected =false;
}

                }

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

                }
            });
        public void checkforEmpty() {
            if (NetworkUtil.isConnected(getActivity())) {
                if ((m_szMobileNumber.length() == 13) &&
                     (m_szAmount.length() != 0) &&(selectedOperatorCode!=null) && isItemSelected ){
                            m_SubmitButton.setEnabled(true);
                            m_SubmitButton.setBackgroundColor(Color.rgb(0, 80, 147));// set background color on eabled
                            m_SubmitButton.setOnClickListener(new View.OnClickListener() {
                                @Override
                                public void onClick(View v) {
                                    proceedToRecharge(v);
                                }
                            });
                        }else {
                            m_SubmitButton.setEnabled(false);
                            m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192));
                        }

                    } else {
                        m_SubmitButton.setEnabled(false);
            } else {
                try {
                    CSnackBar.getInstance().showSnackBarError(m_Main.findViewById(R.id.mainLayout), "No Internet Connection Available", getActivity());

                } catch (Exception e) {
                    e.printStackTrace();
                }
                m_SubmitButton.setEnabled(false);
                m_SubmitButton.setBackgroundColor(Color.rgb(192, 192, 192));
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM