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



问题在哪里谁可以帮助我我的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));
    }

打印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();
    }

如果你想检查EditText的可见性,不要比较它的文本。用这个代替:

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

希望你明白为什么选择这个。比如说,用户在EditText中输入了一些东西。然后你使EditText隐形。目前它的文本还没有被清除。所以你还是会得到那个文本

最新更新