Java 如何处理验证错误消息显示未选择微调器中的项目?

Java 如何处理验证错误消息显示未选择微调器中的项目?,java,android,Java,Android,如何处理验证错误消息显示未选择微调器中的项目?下面的编码可以工作,但当我选择其中一个项目时,也会显示toast消息。谁能帮帮我,我错过了哪一部分 if(RegisterUserType.getSelectedItemPosition() == 0) { Toast.makeText(RegistrationActivity.this, "Select the options listed, either parents or tuition provider.",

如何处理验证错误消息显示未选择微调器中的项目?下面的编码可以工作,但当我选择其中一个项目时,也会显示toast消息。谁能帮帮我,我错过了哪一部分

    if(RegisterUserType.getSelectedItemPosition() == 0)
    {
        Toast.makeText(RegistrationActivity.this, "Select the options listed, either parents or tuition provider.", Toast.LENGTH_SHORT).show();
    }
微调器设置适配器的编码:-

    List<String> categories = new ArrayList<>();
    categories.add(0, "Choose Category");
    categories.add("Parents");
    categories.add("Tuition Provider");

    ArrayAdapter<String> dataAdapter;
    dataAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, categories);

    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    RegisterUserType.setAdapter(dataAdapter);

    RegisterUserType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
    {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
        {
            if (parent.getItemAtPosition(position).equals("Chooose Category"))
            {
                //Do Nothing
            }

            else
            {
                String item = parent.getItemAtPosition(position).toString();

                Toast.makeText(parent.getContext(), item +" selected.", Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent)
        {
            // TODO Auto-generated method stub
        }
    });
List categories=new ArrayList();
类别。添加(0,“选择类别”);
类别。添加(“家长”);
类别。添加(“学费提供者”);
阵列适配器;
dataAdapter=new ArrayAdapter(这是android.R.layout.simple\u微调器项目,类别);
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
RegisterUserType.setAdapter(dataAdapter);
RegisterUserType.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()
{
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id)
{
if(parent.getItemAtPosition(position).equals(“Choose类别”))
{
//无所事事
}
其他的
{
String item=parent.getItemAtPosition(position.toString();
Toast.makeText(parent.getContext(),item+“selected.”,Toast.LENGTH_SHORT.show();
}
}
@凌驾
未选择公共无效(AdapterView父级)
{
//TODO自动生成的方法存根
}
});

在微调器第0个位置添加项目

spinnerList.add("Please choose one");
现在检查所选位置是否不是0

if(spinner.getSelectedItemPosition()==0){
  // show error toast
}

向要传递到微调器的数组中添加第一项虚拟项

例如,添加“选择项目”

然后检查所选位置是否=0
显示Toast

我认为您可以执行以下要求:, 在活动的Oncreate()中

ArrayList countries=new ArrayList();
国家。添加(“选择国家”);
国家。添加(“印度”);
国家。添加(“中国”);
国家。添加(“美国”);
国家。添加(“非洲”);
国家。添加(“俄罗斯”);
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,国家/地区);
RegisterUserType.setAdapter(适配器);
RegisterUserType.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
如果(位置==0){
Toast.makeText(getApplicationContext(),“未选择任何项目”,Toast.LENGTH_LONG.show();
}否则{
Toast.makeText(getApplicationContext(),“Item Selected=“+parent.getItemAtPosition(position),Toast.LENGTH_LONG).show();
}
}
@凌驾
未选择公共无效(AdapterView父级){
}
});

我希望这对您有所帮助。

您可以使用
spinner.getSelectedItemPosition()
进行此操作

要处理这个问题,只需在arrayList中添加一个伪值,如下所示

arraylist.add("Select item");
然后是你的其他数据

    arraylist.add("ABC");
    arraylist.add("XYZ");
    arraylist.add("BCA");
用于检查验证使用

if(spinner.getSelectedItemPosition()==0)
{
Toast.makeText(this,"Please select an item",Toast.LENGTH_SHORT).show();
}

能否显示将适配器设置为的代码spinner@VivekMishra我已经用你想要的编码编辑了这个问题:)如果你的条件是错误的。getSelectedItem永远不会为空。你有两种方法可以做到这一点。按照下面答案中所述的所选位置进行检查,或者比较字符串,如所选项目文本为“选择类别”,然后显示toast@VivekMishra我已经拿到了,是这样吗?我刚刚编辑了我的答案。是的。但如果您使用equalIgnoreCase()而不是equals()会更好,因为情况无关紧要,这里是getSelectedPosition还是GetSelectedEditPosition()?我不是用Android Studio写这个答案的,我编辑了答案。使用
getSelectedItemPosition
。您可以接受答案让其他人知道,现在问题已经解决了。非常感谢您提供完整的编码示例!这对我真的很有帮助
if(spinner.getSelectedItemPosition()==0)
{
Toast.makeText(this,"Please select an item",Toast.LENGTH_SHORT).show();
}