【问题标题】:how to remove the default selectionof spinner?如何删除微调器的默认选择?
【发布时间】:2012-07-05 04:44:11
【问题描述】:

我是萨尔曼·阿姆贾德 我在我的应用程序中使用了两个微调器,并且在每个选择上都使用了 if else 结构……但是当应用程序加载时,默认选择条件执行……我想删除默认选择,你可以帮助我在这个后卫???? 第一个条件也不会在第一个执行......

 convertto.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View v1,
                int index1, long arg3) {
            //from meters
            var1=Double.parseDouble(lvalue.getText().toString());
            var2=var1;
            if ((quantity[index1]=="Meter") && (s1.equalsIgnoreCase("Meter") ))
            {
            Toast.makeText(v1.getContext(), " to meter",Toast.LENGTH_SHORT).show();
            var2=var1;
            lresult.setText("" + var2);

        }
            else{
                if ((quantity[index1]=="Inches") && (s1.equalsIgnoreCase("Meter")))
                {
                Toast.makeText(v1.getContext(), " to inches",Toast.LENGTH_SHORT).show();

                var2=var1 * 39.3700787;
                lresult.setText("" + var2);

            }
                else{
                    if ((quantity[index1]=="Feet") && (s1.equalsIgnoreCase("Meter")))
                    {
                    Toast.makeText(v1.getContext(), " to Feet",Toast.LENGTH_SHORT).show();

                    var2=var1 * 3.281;
                    lresult.setText("" + var2);

                }
                    else{
                        if ((quantity[index1]=="Yards") && (s1.equalsIgnoreCase("Meter")))
                        {

                        Toast.makeText(v1.getContext(), " to Yards",Toast.LENGTH_SHORT).show();

                        var2=var1 * 1.0936133 ;
                        lresult.setText("" + var2);
                        }
                    }
                }
                //from inches
                if ((quantity[index1]=="Meter") && (s1.equalsIgnoreCase("Inches")))
                {
                Toast.makeText(v1.getContext(), " to meter",Toast.LENGTH_SHORT).show();

                var2=var1/39.3700787;
                lresult.setText("" + var2);

            }
                else{
                    if ((quantity[index1]=="Inches") && (s1.equalsIgnoreCase("Inches")))
                    {
                    Toast.makeText(v1.getContext(), " to inches",Toast.LENGTH_SHORT).show();

                    var2=var1;
                    lresult.setText("" + var2);

                }
                    else{
                        if ((quantity[index1]=="Feet") && (s1.equalsIgnoreCase("Inches")))
                        {
                        Toast.makeText(v1.getContext(), " to Feet",Toast.LENGTH_SHORT).show();

                        var2=var1/12;
                        lresult.setText("" + var2);

                    }
                        else{
                            if ((quantity[index1]=="Yards") && (s1.equalsIgnoreCase("Inches")))
                            {

                            Toast.makeText(v1.getContext(), " to Yards",Toast.LENGTH_SHORT).show();

                            var2 = var1/36;
                            lresult.setText("" + var2);
                            }
                        }
                    }
                    //from feet
                    if ((quantity[index1]=="Meter") && (s1.equalsIgnoreCase("Feet")))
                    {
                    Toast.makeText(v1.getContext(), " to meter",Toast.LENGTH_SHORT).show();

                    var2=var1/3.281;
                    lresult.setText("" + var2);

                }
                    else{
                        if ((quantity[index1]=="Inches") && (s1.equalsIgnoreCase("Feet")))
                        {
                        Toast.makeText(v1.getContext(), " to inches",Toast.LENGTH_SHORT).show();

                        var2=var1*12;
                        lresult.setText("" + var2);

                    }
                        else{
                            if ((quantity[index1]=="Feet") && (s1.equalsIgnoreCase("Feet")))
                            {
                            Toast.makeText(v1.getContext(), " to Feet",Toast.LENGTH_SHORT).show();

                            var2=var1;
                            lresult.setText("" + var2);

                        }
                            else{
                                if ((quantity[index1]=="Yards") && (s1.equalsIgnoreCase("Feet")))
                                {

                                Toast.makeText(v1.getContext(), " to Yards",Toast.LENGTH_SHORT).show();

                                var2 = var1/3;
                                lresult.setText("" + var2);
                                }
                            }
                        }
                        //from yards
                        if ((quantity[index1]=="Meter") && (s1.equalsIgnoreCase("Yards")))
                        {
                        Toast.makeText(v1.getContext(), " to meter",Toast.LENGTH_SHORT).show();

                        var2=var1/1.0936133;
                        lresult.setText("" + var2);

                    }
                        else{
                            if ((quantity[index1]=="Inches") && (s1.equalsIgnoreCase("Yards")))
                            {
                            Toast.makeText(v1.getContext(), " to inches",Toast.LENGTH_SHORT).show();

                            var2=var1*36;
                            lresult.setText("" + var2);

                        }
                            else{
                                if ((quantity[index1]=="Feet") && (s1.equalsIgnoreCase("Yards")))
                                {
                                Toast.makeText(v1.getContext(), " to Feet",Toast.LENGTH_SHORT).show();

                                var2=var1*3;
                                lresult.setText("" + var2);

                            }
                                else{
                                    if ((quantity[index1]=="Yards") && (s1.equalsIgnoreCase("Yards")))
                                    {

                                    Toast.makeText(v1.getContext(), " to Yards",Toast.LENGTH_SHORT).show();

                                    var2 = var1;
                                    lresult.setText("" + var2);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

【问题讨论】:

    标签: android android-widget


    【解决方案1】:

    这是因为当您第一次执行您的应用时,onItemSelected 会被触发。为了摆脱这种情况,你需要自己应用一些逻辑东西,这样当 Activity 第一次启动时,它不会在 onItemSelected 内触发你的代码,并且在用户做出选择时工作。

    你可以这样做,

    int spinner_counter = 1, spinnner_selected = 0; // declare globally
    
            @Override
            public void onItemSelected(AdapterView<?> arg0, View v1,
                    int index1, long arg3) {
    
               if(spinnner_selected < spinner_counter){
                      spinnner_selected++;
               }
               else{
                     //execute your code here
               }
            }
    

    【讨论】:

    • 删除了默认选择,但这里仍然没有出现第一个条件......意味着第一次它不计算米到米的转换......??????????/
    猜你喜欢
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多