如果条件不能在我的命令中工作

时间:2013-05-07 11:02:15

标签: android if-statement conditional-statements

问题是什么问题可以帮助我我的if语句不起作用,因为我希望它检查我的edittext在android中是可见的还是不可见的。

现在我必须检查条件是。,

如果我的edittext可见,则表示如何插入数据。 如果我的edittext消失了意味着我如何插入另一个数据。 这是我的代码,如果我必须选中复选框意味着edittext是不可见的,否则edittext是可见的。:

Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.selling1);
    b=(Button) findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

            DecimalFormat tw = new DecimalFormat("0.00");
            EditText a= (EditText)findViewById(R.id.y);
            EditText b= (EditText)findViewById(R.id.a);
        Float x=Float.parseFloat(a.getText().toString());
            Float y=Float.parseFloat(b.getText().toString());
    if((a.getText().toString().equals(""))){
        Toast t= Toast.makeText(getApplicationContext(), "10000 is there", Toast.LENGTH_LONG);
        t.setGravity(Gravity.CENTER, 02, 10);
        t.show();
    }else{

            Float z=(x*y)/(100+y);
            Float p=x-z;

            EditText c= (EditText)findViewById(R.id.c);
            c.setText(tw.format(z));
            EditText d= (EditText)findViewById(R.id.e); 
            d.setText(tw.format(p));
    }

2 个答案:

答案 0 :(得分:0)

打印a.getText().toString()并查看返回的内容,如果为空,请尝试此

    if("".equals(a.getText().toString())){
    Toast t= Toast.makeText(getApplicationContext(), "10000 is there", Toast.LENGTH_LONG);      
t.setGravity(Gravity.CENTER, 02, 10);
 t.show();
    }

答案 1 :(得分:0)

如果您想检查EditText的可见性,请不要比较其文字。请改为使用:

if (a.getVisibility() == View.VISIBLE){
    //Perform your action of inserting
}

希望你明白为什么选择这个。比如说,用户在EditText中输入了内容。然后你让EditText看不见。此时它的文本没有被清除。所以你仍然得到那个文本。

希望这有帮助。