加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Android:从类中实现后退按钮

发布时间:2020-12-15 04:13:20 所属栏目:Java 来源:网络整理
导读:好的,所以这是我的问题.我正在研究一个 Android应用程序并同时学习android,所以大多数时候我都会遇到错误. Normaly我可以在研究了一下后修复它们,但是我在这一点上陷入困??境. 我正在尝试为我的应用程序中的每个Activity创建一个后退按钮,所以我想要创建一个
好的,所以这是我的问题.我正在研究一个 Android应用程序并同时学习android,所以大多数时候我都会遇到错误. Normaly我可以在研究了一下后修复它们,但是我在这一点上陷入困??境.

我正在尝试为我的应用程序中的每个Activity创建一个后退按钮,所以我想要创建一个“BackButton”类,所以我可以在每次想要时实现它.这是我的BackButton代码:

import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.app.Activity;

    public class BackButton extends Activity implements View.OnClickListener{

        public static Button BackButton;

        // Defining the button
        public BackButton() {

            BackButton = (Button) findViewById(R.id.bBack);

            BackButton.setOnClickListener(this);

        }

        //To get the Button
        public static Button getBackButton() {
            return BackButton;
        }


        // OnClickListener
        public void onClick(View v) {

                try {
                    Class MainActivityClass = Class.forName("eu.lafarga.treballderecerca.MainActivity");
                    Intent MainActivityIntent = new Intent(BackButton.this,MainActivityClass); 
                    startActivity(MainActivityIntent);
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }finally {
                    // Save the things we've done. 
                }

        }

    }

那么,我应该如何在任何活动中实现这一点?我做错了什么? (当然,我是哈哈)

解决方法

就个人而言,我建议不要这样做.我认为覆盖每个Activity中的后退按钮会更安全,更灵活,同样容易,如果不容易的话.很可能,随着您的应用程序的增长,您并不总是希望返回MainActivity,因为当用户点击后退按钮时,这可能不是预期的操作.覆盖需要它的活动中的后退按钮并运行您的代码

@Overrride
    public void onBackPressed(View v) {
     // save data first

      Intent MainActivityIntent = new Intent(CurrentActivityName.this,MainActivityClass); 
      startActivity(MainActivityIntent);
      super.onBackPressed();
}

如果要通过调用setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)删除当前活动与目标活动(此处为MainActivity)之间的所有活动,也可以使用FLAG_ACTIVITY_CLEAR_TOP等标记.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读