我需要帮助..
我有两个类Class1.java和Class2.java。在Class1中,一个按钮(PAY)可以转到Class2。 Class2是Billing Activity,它有一个按钮可以返回Class1。
当月结算结算时,按钮颜色应该更改。我希望从当前日期到下个月1日禁用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>
答案 0 :(得分:0)
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
ano
答案 1 :(得分:0)
如果您不熟悉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);
希望它有所帮助。