【问题标题】:Android: Reset Activity onClickAndroid:重置活动 onClick
【发布时间】:2012-12-11 11:02:49
【问题描述】:

我有一个活动,在那个活动上有几个按钮可以用数字等做不同的事情。虽然我希望能够让用户重置/(重新启动?)活动回来无需用户点击后退按钮或重新启动应用程序即可恢复到初始状态。

我想创建一个重置按钮。我知道如何制作按钮本身,但我不知道如何重置活动的详细信息。

@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.button1:
        // do stuff
    break;
    case R.id.button2:
        // do stuff
        break;      
    case R.id.button3:
        // do stuff
        break;
    case R.id.reset:
        // what goes here?
    default:
        break;
    }
}

这是怎么做到的?

【问题讨论】:

  • 重置是什么意思?做详细说明。
  • 我的意思是我希望活动返回到其原始状态(即计数器返回到零等)有什么特别的,或者变量和东西刚刚重新初始化回 0 /在这种情况下我还想要什么开关?
  • 看我的回答。它将重新启动活动。不知道那是不是你想要的。

标签: android android-activity


【解决方案1】:

这将重新启动您的活动。

@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.button1:
        // do stuff
    break;
    case R.id.button2:
        // do stuff
        break;      
    case R.id.button3:
        // do stuff
        break;
    case R.id.reset:
         Intent intent = getIntent();
         finish();
         startActivity(intent);    default:
        break;
    }
}

您可以添加以下内容以摆脱花哨的动画。

overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

【讨论】:

  • 我目前有四个按钮,添加了重置。使用三个按钮,启用/禁用完美无缺。通过使用此代码添加重置按钮,它已永久禁用其中一个按钮,即使在其他情况下它被设置为启用。你知道为什么会这样吗?
  • 这是一种奇怪的行为。除非我看到相关的源代码,否则无法判断。您可以开始一个新问题并发布代码和问题吗?
  • 当然。给我一分钟把它贴出来。
  • 我已经用相关代码发布了问题:stackoverflow.com/questions/13813626/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多