如何覆盖其他隐藏按钮验证
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();
}
....
我想这样很难解释。我认为,您必须在其他验证所在的位置添加新验证。这样既不冲突又方便调试
我正在尝试使用 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();
}
....
我想这样很难解释。我认为,您必须在其他验证所在的位置添加新验证。这样既不冲突又方便调试