我正在开发一个Android应用程序,目前我有一个myActivity,我有一个当前时间的按钮(使用带有变量'date'的setTitle())。
当我点击此按钮时,我打开一个日期选择器。在这个日期选择器中,我可以更改日期并存储它。现在我想更新myActivity中的按钮。
如何“刷新”此活动并将按钮标题设置为新选择的日期?不丢失变化的变量?
我尝试过公共布尔值onPrepareOptionsMenu,但它似乎没有做任何事情。
我知道它存储了新日期(通过调试),我只需要以某种方式重新加载它。
答案 0 :(得分:0)
如果您使用Intent重新创建Actitity,则可以添加Intent附加功能:
yourIntent.putExtra("Date", date.toString());
并在onCreate()中检索它:
date = getIntent.getStringExtra("Date");
要更改标题栏,您只需要这样做:
setTitle(date.toString());
答案 1 :(得分:0)
有很多解决方案,你可以尝试put额外的东西,你可以使用静态变量,最好对我来说我更喜欢使用委托如下:
//creating an interface that will be responsible for refreshing date
OnDateChanged.java
public interface OnDateChanged
{
ondatechange(X x);/* x is your date value of type date*/
}
// create your custom dialog
DatePickerDialog .java
public class DatePickerDialog extends Dialog
{
private OnDateChanged mListener;
public DatePickerDialog (Context context, OnDateChanged listener )
{
super(context);
mListener = listener;
........
}
......
// on certain click you call this
mListener.colorChanged();
}
// implements OnDateChanged here
MyActivity.java
public class MyActivity extends Activity implements OnDateChanged
{
...
@Override
public void ondatechange(X x)
{
// do something with date "x"
}
....
// creating dialog goes here on click or something
new DatePickerDialog (context, this).show();
}
当您需要更新MyActivity中跟踪日期的ui元素时,这是最佳解决方案