Android eclipse OnClickListener使用OnItemSelectedListener

Android eclipse OnClickListener使用OnItemSelectedListener,android,eclipse,Android,Eclipse,我想验证微调器是否等于“something”,然后它将显示一个文本“please pick a value”(请选择一个值)。每当我们单击该按钮时,验证就会触发 问题是我不知道如何正确地实现它。但是我编写了一个代码来实现这一点,当我们什么都不做时,吐司文本就会出现,当应用程序启动时,吐司文本只会出现,而不点击按钮。其他验证工作正常,单击后会显示(检查edittext是否为空) 编辑:我正在制作一个PMT功能应用程序,其中有一个用于价格输入的edittext,另一个用于价格百分比。然后有一些微调器

我想验证微调器是否等于“something”,然后它将显示一个文本“please pick a value”(请选择一个值)。每当我们单击该按钮时,验证就会触发

问题是我不知道如何正确地实现它。但是我编写了一个代码来实现这一点,当我们什么都不做时,吐司文本就会出现,当应用程序启动时,吐司文本只会出现,而不点击按钮。其他验证工作正常,单击后会显示(检查edittext是否为空)

编辑:我正在制作一个PMT功能应用程序,其中有一个用于价格输入的edittext,另一个用于价格百分比。然后有一些微调器用于选择您购买的东西(在我的应用程序中用于计算汽车价格)是新的还是用过的,您居住的区域(在我的国家有3个区域中、东、西)和保险(合并,综合,TLO)。所有这些都将在单击按钮时计算,但为了避免错误,我希望有一个验证,该验证将由同一个按钮触发。在这里,我遇到了问题,我的代码结构不好,我的意思是我的实现不好

我想做一些像这样的事情:

String item1,item2;
Textview result;

result = (TextView) findViewById(R.id.textView1);


spin1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
    {

    public void onItemSelected(AdapterView<?> parent, View seletedItem, int pos, long id)
       {
          /*if an item selected it will give a value to the spinner item that is selected to be calculate along with edittext values and other spinners and if nothing selected or the spinner item is equal to the hint on the spinner(in this case, suppose that as"please pick something")(this hint on xml i put as item <item>-please pick something-</item><!--hint-->)then it will toast a text "please pick something pls pls" and <---this text will be triggered when we click the button, take a look at public void count(this one is the button(android:OnClick="count"))*/ 
         //suppose it will be item1 here
       }

        public void onNothingSelected(AdapterView<?> parent)
        {

        }
});

spin2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{

        public void onItemSelected(AdapterView<?> parent, View selectedItem, int pos, long id)
        {
           //same thing as the 1st spinner
           //suppose it will be item2 here
        }

        public void onNothingSelected(AdapterView<?> parent)
        {

        }
    });spin3.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
        public void onItemSelected(AdapterView<?> parent, View selectedItem, int pos, long id)
        {
           //same thing as the 1st spinner
           //suppose it will be item3 here
        }

        public void onNothingSelected(AdapterView<?> parent)
        {

        }
    });
}    
public void count(View v)
{
    if(item1.equals("Hello") && item2.equals("World")&&item3.equals("2015"))
    {
        //do the calculation
        //put the result o0n table
        Intent intent=new Intent(Mastercode.this,TableOutput.class);
                    startActivity(intent);//it will go to next activity
    }
    else if(item1.equals("please pick one from the list as this spinner will show") {
        Toast.makeText(this, "you might want to pick something first", Toast.LENGTH_SHORT).show();return;
    }
}
字符串item1、item2;
文本视图结果;
结果=(TextView)findViewById(R.id.textView1);
spin1.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()
{
已选择公共项(AdapterView父项、视图选择项、int pos、长id)
{
/*如果选择了一个项目,它将为微调器项目提供一个值,该项目被选择为与edittext值和其他微调器一起计算,如果没有选择任何内容,或者微调器项目等于微调器上的提示(在本例中,假设为“请拾取某物”)(我将此xml提示作为项目-请拾取某物-)然后,它将显示一条文本“请挑选一些东西”,并显示家长、查看selectedItem、int pos、long id)
{
//和第一个旋转器一样
//假设这里是第2项
}
未选择公共无效(AdapterView父级)
{
}
});spin3.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()
{
已选择公共项(AdapterView父项、View selectedItem、int pos、long id)
{
//和第一个旋转器一样
//假设这里是第3项
}
未选择公共无效(AdapterView父级)
{
}
});
}    
公共作废计数(视图五)
{
如果(第1项等于(“你好”)和第2项等于(“世界”)和第3项等于(“2015”))
{
//计算
//将结果放在表格上
意向意向=新意向(Mastercode.this,TableOutput.class);
startActivity(intent);//它将转到下一个活动
}
else if(item1.equals(“请从该微调器将显示的列表中选择一个”){
Toast.makeText(这是“您可能想先挑选一些东西”,Toast.LENGTH_SHORT).show();return;
}
}
如果用户从spinner列表中选择某个项目,列表中的每个项目都有一定的价值(在本例中,它是价格上涨的百分比,在PMT(我现在在那里实习的机构(公司)的PMT)中),条件、保险和区域将影响价格)然后它将计算第一次付款、每月付款等,然后将第一次付款、每月付款的内容放入新活动的表中^^^^^^用于上面的代码^^^^

这是我的密码:

        public void thebutton(view v){
        int N1 = 0, N2 = 0, N3 = 0, N4 = 0, N5 = 0;
        int U1 = 0, U2 = 0, U3 = 0, U4 = 0, U5 = 0;
        double EffectiveRate = 0.12;
        String ethint2 = ethint1.getText().toString();
            String etpersen3 =etpersen2.getText().toString();
            spikon.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
            {

            public void onItemSelected(AdapterView<?> parent, View seletedItem, int pos, long id)
               {
                  String item1 = (String) parent.getItemAtPosition(pos);              
                //set value change
                else if(item1.equals("-Please pick something about blablabla1-")){
                  Toast.makeText(Mastercode.this, "Please pick something about blablabla1", Toast.LENGTH_SHORT).show();
                  return;
              }

               }

                public void onNothingSelected(AdapterView<?> parent)
                {

                }
             });

            spias.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
            {

                public void onItemSelected(AdapterView<?> parent, View selectedItem, int pos, long id)
                {
                   String item2 = (String) parent.getItemAtPosition(pos);
                 //set value change         
                      else if(item2.equals("-Please pick something about blablabla2-")){
                      Toast.makeText(Mastercode.this, "Please pick something about blablabla1", Toast.LENGTH_SHORT).show();
                      return;
                  }              
                }

                public void onNothingSelected(AdapterView<?> parent)
                {

                }
            });

            spizon.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
            {

                public void onItemSelected(AdapterView<?> parent, View selectedItem, int pos, long id)
                {
                   String item3 = (String) parent.getItemAtPosition(pos);    
                   //set value change
                    else if(item3.equals("-Please pick something about blablabla3-")){
                      Toast.makeText(Mastercode.this, "Please pick something about blablabla3", Toast.LENGTH_SHORT).show();
                      return;
                  }

                }

                public void onNothingSelected(AdapterView<?> parent)
                {

                }
            });

            if(ethint2.trim().equals("")) {
                Toast.makeText(this, "please fill the price", Toast.LENGTH_SHORT).show();
                return;
            }
            else if(etpersen3.trim().equals("")) {
                Toast.makeText(this, "please fill the percentage", Toast.LENGTH_SHORT).show();
                return;

            }                                     
           }
package com.m4nd1r1tun45f1n4nc3.abcdefg;

import java.text.DecimalFormat;
import java.text.NumberFormat;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.InputType;
import android.text.TextWatcher;
import android.text.method.DigitsKeyListener;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Mastercode extends Activity implements TextWatcher ,AdapterView.OnItemSelectedListener{
    EditText ethint1, etpersen2, textvDP1;
    Spinner spinner,spinner1,spinner2,spikon,spias,spizon;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub      
        super.onCreate(savedInstanceState);
        setContentView(R.layout.simulasikredit);
        ethint1 = (EditText) findViewById(R.id.ethint);
        etpersen2 = (EditText) findViewById(R.id.etpersen);     
        textvDP1 = (EditText) findViewById(R.id.textvDP);
        spikon = (Spinner) findViewById(R.id.spinnerkondisi);
        spias = (Spinner) findViewById(R.id.spinnerasuransi);
        spizon = (Spinner) findViewById(R.id.spinnerzonawilayah);
        spikon.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
            {
            public void onItemSelected(AdapterView<?> parent, View seletedItem, int pos, long id)
               {
                  String item1 = (String) parent.getItemAtPosition(pos);              
                //set value change
               }
                public void onNothingSelected(AdapterView<?> parent)
                {
                }
             });
            spias.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
            {
                public void onItemSelected(AdapterView<?> parent, View selectedItem, int pos, long id)
                {
                   String item2 = (String) parent.getItemAtPosition(pos)        }
                public void onNothingSelected(AdapterView<?> parent)
                {}
            });
            spizon.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
            {
                public void onItemSelected(AdapterView<?> parent, View selectedItem, int pos, long id)
                {
                   String item3 = (String) parent.getItemAtPosition(pos);             
                }
                public void onNothingSelected(AdapterView<?> parent)
                {
                }
            });     
        etpersen2.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                String text1 = ethint1.getText().toString();
                String text2 = etpersen2.getText().toString();
                int input1 = 0;
                int input2 = 0;
                if(text1.length()>0)
                      input1 = Integer.valueOf(text1);
                if(text2.length()>0)
                      input2 = Integer.valueOf(text2);                
                if (text1.length() != 0) {    
                    int output = (input1 * input2) / 100;
                    textvDP1.setText(""+output);}
                else if(text2.length() == 0){
                    textvDP1.setText("");
                }
            }
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }
            @Override
            public void afterTextChanged(Editable s) {
            }
        });                     
    }              
                public void delete(View v) {                     
                       ethint1.setText("");
                       etpersen2.setText("");
                       textvDP1.setText("");
                      }
                public void startcalculateandvalidate(View v){
                    String ethint2 = ethint1.getText().toString();
                    String etpersen3 =etpersen2.getText().toString();
                    if(ethint2.trim().equals("")) {
                        Toast.makeText(this, "Please fill the price", Toast.LENGTH_SHORT).show();
                        return;
                    }
                    else if(etpersen3.trim().equals("")) {
                        Toast.makeText(this, "Please fill the percentage", Toast.LENGTH_SHORT).show();
                        return;
                    }
                    else if/* i want to check the value of spinners here with more else if, then toast the text.but it wont work , when i use this code---> elseif(item1.equals("please pick something")){Toast} the item1 will be red underlined with "item1 cannot be resolved to a variable" while its on spikon.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()*/
                    else
                    {
                        Intent intent=new Intent(Mastercode.this,TableOutput.class);
                        startActivity(intent);
                    }}
                     public void makeDecimal(View v){  }
                @Override
                public void afterTextChanged(Editable s) {
                    // TODO Auto-generated method stub
                }
                @Override
                public void beforeTextChanged(CharSequence s, int start,
                        int count, int after) {
                    // TODO Auto-generated method stub                  
                }
                @Override
                public void onTextChanged(CharSequence s, int start,
                        int before, int count) {
                    // TODO Auto-generated method stub              
                }
                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {
                    // TODO Auto-generated method stub

                }
                @Override
                public void onNothingSelected(AdapterView<?> arg0) {
                    // TODO Auto-generated method stub

                }                                                               
}
public作废按钮(视图v){
int N1=0,N2=0,N3=0,N4=0,N5=0;
int U1=0,U2=0,U3=0,U4=0,U5=0;
双效率=0.12;
字符串ethint2=ethint1.getText().toString();
字符串etpersen3=etpersen2.getText().toString();
setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()
{
已选择公共项(AdapterView父项、视图选择项、int pos、长id)
{
String item1=(String)parent.getItemAtPosition(pos);
//设定值更改
else if(item1.equals(“-请选择关于bla1-”)的内容){
Toast.makeText(Mastercode.this,“请选择有关bla1的内容”,Toast.LENGTH_SHORT.show();
返回;
}
}
未选择公共无效(AdapterView父级)
{
}
});
setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()
{
已选择公共项(AdapterView父项、View selectedItem、int pos、long id)
{
String item2=(String)parent.getItemAtPosition(pos);
//设定值更改
else if(item2.equals(“-请选择关于bla2-”的内容){
Toast.makeText(Mastercode.this,“请选择有关bla1的内容”,Toast.LENGTH_SHORT.show();
返回;
}              
}
未选择公共无效(AdapterView父级)
{
}
});
spizon.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()
{
已选择公共项(AdapterView父项、View selectedItem、int pos、long id)
{
String item3=(String)parent.getItemAtPosition(pos);
//设定值更改
else if(item3.equals(“-请选择关于bla3-”)的内容){
Toast.makeText(Mastercode.this,“请选择有关Bla3的内容”,Toast.LENGTH_SHORT.show();
返回;
}
}
未选择公共无效(AdapterView父级)
{
}
});
如果(ethint2.t
package com.m4nd1r1tun45f1n4nc3.abcdefg;

import java.text.DecimalFormat;
import java.text.NumberFormat;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.InputType;
import android.text.TextWatcher;
import android.text.method.DigitsKeyListener;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Mastercode extends Activity implements TextWatcher ,AdapterView.OnItemSelectedListener{
    EditText ethint1, etpersen2, textvDP1;
    Spinner spinner,spinner1,spinner2,spikon,spias,spizon;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub      
        super.onCreate(savedInstanceState);
        setContentView(R.layout.simulasikredit);
        ethint1 = (EditText) findViewById(R.id.ethint);
        etpersen2 = (EditText) findViewById(R.id.etpersen);     
        textvDP1 = (EditText) findViewById(R.id.textvDP);
        spikon = (Spinner) findViewById(R.id.spinnerkondisi);
        spias = (Spinner) findViewById(R.id.spinnerasuransi);
        spizon = (Spinner) findViewById(R.id.spinnerzonawilayah);
        spikon.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
            {
            public void onItemSelected(AdapterView<?> parent, View seletedItem, int pos, long id)
               {
                  String item1 = (String) parent.getItemAtPosition(pos);              
                //set value change
               }
                public void onNothingSelected(AdapterView<?> parent)
                {
                }
             });
            spias.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
            {
                public void onItemSelected(AdapterView<?> parent, View selectedItem, int pos, long id)
                {
                   String item2 = (String) parent.getItemAtPosition(pos)        }
                public void onNothingSelected(AdapterView<?> parent)
                {}
            });
            spizon.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
            {
                public void onItemSelected(AdapterView<?> parent, View selectedItem, int pos, long id)
                {
                   String item3 = (String) parent.getItemAtPosition(pos);             
                }
                public void onNothingSelected(AdapterView<?> parent)
                {
                }
            });     
        etpersen2.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                String text1 = ethint1.getText().toString();
                String text2 = etpersen2.getText().toString();
                int input1 = 0;
                int input2 = 0;
                if(text1.length()>0)
                      input1 = Integer.valueOf(text1);
                if(text2.length()>0)
                      input2 = Integer.valueOf(text2);                
                if (text1.length() != 0) {    
                    int output = (input1 * input2) / 100;
                    textvDP1.setText(""+output);}
                else if(text2.length() == 0){
                    textvDP1.setText("");
                }
            }
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }
            @Override
            public void afterTextChanged(Editable s) {
            }
        });                     
    }              
                public void delete(View v) {                     
                       ethint1.setText("");
                       etpersen2.setText("");
                       textvDP1.setText("");
                      }
                public void startcalculateandvalidate(View v){
                    String ethint2 = ethint1.getText().toString();
                    String etpersen3 =etpersen2.getText().toString();
                    if(ethint2.trim().equals("")) {
                        Toast.makeText(this, "Please fill the price", Toast.LENGTH_SHORT).show();
                        return;
                    }
                    else if(etpersen3.trim().equals("")) {
                        Toast.makeText(this, "Please fill the percentage", Toast.LENGTH_SHORT).show();
                        return;
                    }
                    else if/* i want to check the value of spinners here with more else if, then toast the text.but it wont work , when i use this code---> elseif(item1.equals("please pick something")){Toast} the item1 will be red underlined with "item1 cannot be resolved to a variable" while its on spikon.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()*/
                    else
                    {
                        Intent intent=new Intent(Mastercode.this,TableOutput.class);
                        startActivity(intent);
                    }}
                     public void makeDecimal(View v){  }
                @Override
                public void afterTextChanged(Editable s) {
                    // TODO Auto-generated method stub
                }
                @Override
                public void beforeTextChanged(CharSequence s, int start,
                        int count, int after) {
                    // TODO Auto-generated method stub                  
                }
                @Override
                public void onTextChanged(CharSequence s, int start,
                        int before, int count) {
                    // TODO Auto-generated method stub              
                }
                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {
                    // TODO Auto-generated method stub

                }
                @Override
                public void onNothingSelected(AdapterView<?> arg0) {
                    // TODO Auto-generated method stub

                }                                                               
}
if("select data"){
//do nothing
}
int check = 0;

     yourSpinner.setOnItemSelectedListener(new OnItemSelectedListener() 
        {
            @Override
            public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) 
            {
               if(check>0)
               {
               //Toast showing selected item value
                      Toast.makeText(parentView.getContext(),"OnItemSelectedListener : " +  parentView.getItemAtPosition(position).toString(),Toast.LENGTH_SHORT).show();
               }
               check+=1;

            }

            @Override
            public void onNothingSelected(AdapterView<?> parentView) 
            {
                Toast.makeText(topThis, "nothing selected", Toast.LENGTH_LONG).show();
            }
        });