如何覆盖其他隐藏按钮验证

How to override other hide button validations

我正在尝试使用 View.GONE 方法隐藏按钮。但是由于我有很多验证,我似乎无法在我最新的验证中隐藏按钮。有没有办法覆盖所有其他隐藏按钮命令?我的逻辑没有错。我使用 Toasts 测试了它们。但是按钮根本不会隐藏。我试着让它不可点击。它也不起作用。这是我的代码。如果我的 TextView 中的日期小于今天,我试图隐藏该按钮。

SimpleDateFormat dateFormat = new SimpleDateFormat("M-dd-yyyy");
       try {
           today = dateFormat.parse(dateFormat.format(new Date()));
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

       String chkdate = edate.getText().toString();
       SimpleDateFormat sdf = new SimpleDateFormat("M-dd-yyyy");
       try {
        mydate = sdf.parse(chkdate);
    } catch (ParseException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    try{
       result = mydate.compareTo(today);
       System.out.println("result "+result);
       }catch(NullPointerException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
       }



       if(result < 0){
           don.setClickable(false);
           don.setVisibility(GONE);
           Toast toast= Toast.makeText(getApplicationContext(), 
                    "button gone", Toast.LENGTH_SHORT);  
                    toast.setGravity(Gravity.CENTER|Gravity.CENTER_HORIZONTAL, 0, 0);
                    toast.show();
       }
       else if(result >= 0){
           don.setClickable(true);
           don.setVisibility(VISIBLE);
           Toast toast= Toast.makeText(getApplicationContext(), 
                    "Button visible", Toast.LENGTH_SHORT);  
                    toast.setGravity(Gravity.CENTER|Gravity.CENTER_HORIZONTAL, 0, 0);
                    toast.show();
       }

不需要

 don.setVisibility(LinearLayout.GONE) 

之后 如果(结果 < 0){

你应该使用don.setVisibility(View.INVISIBLE)

....
if(result < 0){
       don.setClickable(false);
       don.setVisibility(View.INVISIBLE)
       Toast toast= Toast.makeText(getApplicationContext(), 
                "button gone", Toast.LENGTH_SHORT);  
                toast.setGravity(Gravity.CENTER|Gravity.CENTER_HORIZONTAL, 0, 0);
                toast.show();
   }
....

我想这样很难解释。我认为,您必须在其他验证所在的位置添加新验证。这样既不冲突又方便调试