当前位置: 首页 > 知识库问答 >
问题:

按下后退按钮返回到第一次启动的活动

邢凌
2023-03-14

我有一个活动,当我的应用程序首次启动时开始(只有一次)。该活动允许用户选择主题。然后当他们按下完成键时,我完成了这项活动。这会将用户引导到主活动。但是当用户按下返回按钮时,它会返回到第一次启动的活动(我使用完成()关闭的活动)。但我想要的是,应用程序应该关闭时,用户按下返回按钮从主活动(总是)。我在两个类中都重写了onBackPress。

这两个类中的onBackPressed方法如下所示:

@Override
    public void onBackPressed() {
        finish();
    }

主活动(代码的相关部分):

public class MainActivity extends AppCompatActivity  
 {

TopicAdapter adapter;
    private AdView mAdView ;

//-------GLOBAL VARIABLES-------------------

    AdRequest adRequest;
    ArrayList<Sections> gameList = new ArrayList<>();
    String json;
//-------------------------------------------

    @Override
    protected void onCreate(Bundle savedInstanceState)
       {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SharedPreferences sharedPreferences = 
        getSharedPreferences("ShaPreferences", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor=sharedPreferences.edit();
        boolean  firstTime=sharedPreferences.getBoolean("first", true);

//Launch the topics selection activity for the first time
        if(firstTime) 
         {
            editor.putBoolean("first",false);
            editor.commit();
            Intent intent = new Intent(MainActivity.this, channels_activity.class);
            intent.putExtra("isFirst",true);
            startActivity(intent);
          }
          }

  @Override
    public void onBackPressed() 
    {
        finish();
    }
}

共有1个答案

南宫浩皛
2023-03-14

您只需要调用finish()

Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();

并设置android: no历史="true"在您的清单中的活动请参阅此处

 类似资料:
  • 这显然是我在这里的第一篇文章...好吧,我的问题如下:@android:我有一个用户输入文本的文本编辑器,我通过getText()获取文本,一切正常,但当我按下后退按钮,再次返回到文本编辑器的相同活动并尝试再次获取文本时,它返回空字符串"",尽管文本编辑器视图中显示了不同的文本。会不会是文本编辑仍然与旧的关闭活动“相关或对应”?有什么想法吗? 然后在 AsynckTask 中,我将文本发送到发送,

  • 这里发生的情况是,一旦按下后退按钮,活动就会重新加载,并再次按下后退按钮退出应用程序。我希望它是一次性的,即第一次 我尝试了很多方法,比如尝试onBackPressed方法,但都没有用。我想解决这个问题,当用户按下后退按钮时,他应该退出应用程序。同样的情况也发生在其他活动中,其中我有一个登录页面,一旦用户来到登录页面,如果他希望退出应用程序并按下后退按钮,那么在我的情况下,登录页面再次被重新加载,

  • 问题内容: 在我的应用程序中,我有两个活动。首先是启动屏幕,它仅显示应用程序名称和其他一些信息。单击初始屏幕活动后,我正在加载主要活动。我的应用程序运行正常,但遇到一个小问题。如果我从主要活动中按返回按钮,则控件将启动初始屏幕活动。但我不想再次显示启动画面活动,我想避免在按“后退”按钮时启动画面。 可能吗?如果可以,怎么办? 问题答案: 在文件中,在初始屏幕中添加属性。

  • 嗨,我已经在应用程序抽屉中创建了片段,现在当我按下一个片段上的后退按钮时,它正在关闭应用程序。

  • 我目前正在处理一个Android项目,当用户在使用对话框主题的活动上按后退按钮时,我遇到了问题。 基本上,我有一个活动,让我们称之为我的活动,第二个活动使用@android: style/Theme.Holo.Dialog称为MyDialog。 当MyDialog活动显示在屏幕上时,活动对话框在对话中按预期启动,但当用户按下返回按钮时,对话框活动按预期关闭,但启动活动即MyActive似乎结束了,

  • 我正在制作一个应用程序,其中有一个“MainActivity.class”,它有一个按钮“Edit profile”,可以引导另一个活动,称为“Editprofile.class”。它(MainActivity)还有一个文本视图,显示一个字符串(名称)。 Editprofile.class接受来自用户的字符串,按下添加按钮后,新的字符串会更新到数据库中,替换以前的字符串。现在,当更新后,用户通过后