如何关闭某些天的按钮

我需要帮助..如何关闭某些天的按钮

我有两个类Class1.java和Class2.java。在Class1中,有一个按钮(PAY)可以转到Class2。 Class2是Billing Activity,它有一个按钮可以返回到Class1。

当当月的账单完成时,按钮颜色应该改变。我想Class1的按钮,从当前日期禁用于下月1日,使每个月的第一个..

我都试过,但没有带任何东西了......

这是我的代码..

Class1.java

Intent i=new Intent(Class1.this,Class2.class);<br> 

startActivityForResult(i, 123);

protected void onActivityResult(int requestCode, int resultCode, Intent data){

super.onActivityResult(requestCode, resultCode, data);<br>

if (requestCode == 123) {

pay.getBackground().setColorFilter(ContextCompat.getColor(this,

R.color.Green), PorterDuff.Mode.MULTIPLY);

pay.setEnabled(false);

}

}

Class2.java

Intent i1=new Intent(Class2.this,Class1.class);<br> 

setResult(123,i1);<br>

回答:

Class2.java

Intent intent = new Intent(); 

intent.putExtra("isBillCompleted", true);

setResult(123, intent);

Class1.java

@Override 

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode ==123 && resultCode == RESULT_OK){

boolean isCompleted = data.getBooleanExtra("isBillCompleted", false);

if (isCompleted){

pay.setBackgroundColor(getResources().getColor(R.color.colorAccent));

pay.setEnabled(false);

}

}

}

另外不要忘记添加@Override

回答:

如果你是新来的Android技术看Shared Preferences后。

获取当前时间(以毫秒为单位),并将其转换为天数减去之前的结算时间(如果差异超过30天),启用该按钮或将其保留为禁用状态。 计费完成后,将BILLED_ON重置为当前日期。

long timeDifference = TimeUnit.MILLISECONDS.toDays(System.currentTimeMillis()) - sharedPreferences.getLong("TIMING", TimeUnit.MILLISECONDS.toDays(System.currentTimeMillis())); 

button.setEnabled(timeDifference > 30);

希望它有帮助。

以上是 如何关闭某些天的按钮 的全部内容, 来源链接: utcz.com/qa/262674.html

回到顶部