1

我正在开发一个android应用程序,目前我有一个myActivity,其中有一个带有当前时间的按钮(使用带有变量“日期”的setTitle())。

当我点击这个按钮时,我打开了一个日期选择器。在这个日期选择器中,我可以更改日期并存储它。现在我想更新 myActivity 中的按钮。

如何“刷新”此活动并将按钮的标题设置为新选择的日期?不丢失改变的变量?

我已经尝试过公共布尔 onPrepareOptionsMenu,但它似乎没有做任何事情。

我知道它存储了新日期(通过调试),我只需要以某种方式重新加载它。

4

2 回答 2

0

如果您使用Intent重新创建 Activity ,则可以添加 Intent 附加功能:

yourIntent.putExtra("Date", date.toString());

并在 onCreate() 中检索它:

date = getIntent.getStringExtra("Date");

但是,要更改标题栏,您只需要这样做:

setTitle(date.toString());
于 2013-07-03T07:28:57.870 回答
0

有很多解决方案可以尝试添加额外的东西,可以使用静态变量,对我来说最好的是我更喜欢使用委托,如下所示:

//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 元素时,这是最佳解决方案

于 2013-07-03T08:08:18.970 回答