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

对我来说不工作

姬和歌
2023-03-14

我有一个问题,这也在这里讨论:onBackPress永远不会被调用

我试图取消CountDownTimer时,按从Android手机本机返回按钮。所以我想重写onBackPmed方法,取消计时器并返回到另一个活动,但只有一次。(返回到主活动,如主页按钮)。

这是代码的一部分:

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

   if (getResources().getConfiguration().orientation== Configuration.ORIENTATION_LANDSCAPE){
        ImageView und1=(ImageView)findViewById(R.id.undita1);
        ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) und1.getLayoutParams();
        params.height=150;
        und1.setLayoutParams(params);
        ImageView und2=(ImageView)findViewById(R.id.undita2);
        ViewGroup.LayoutParams params2 = (ViewGroup.LayoutParams) und2.getLayoutParams();
        params2.height=150;
        und2.setLayoutParams(params2);
        ImageView und3=(ImageView)findViewById(R.id.undita3);
        ViewGroup.LayoutParams params3 = (ViewGroup.LayoutParams) und3.getLayoutParams();
        params3.height=150;
        und3.setLayoutParams(params3);
    }

        mProgressBar=(ProgressBar)findViewById(R.id.progressBar);
        mProgressBar.setProgress(0);
        mCountDownTimer=new CountDownTimer(90000,1000) {
            int i=0;
            @Override
            public void onTick(long millisUntilFinished) {
                Log.v("Log_tag", "Tick of Progress" + i + millisUntilFinished);
                i++;
                mProgressBar.setProgress(i); }
            @Override
            public void onFinish() {
                i++;
                mProgressBar.setProgress(i);
                Intent in = new Intent(getApplicationContext(), MyActivity2.class);
                startActivity(in);
            }
        };
        mCountDownTimer.start();

        android.view.Display display = ((android.view.WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
        Bundle b;
        b = getIntent().getExtras();
        nivel= b.getInt("level");
        TextView niv=(TextView) findViewById(R.id.Nivel);
        niv.setText("Level: "+ nivel);
        generare_3_diferente(nivel);}

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.my, menu);
        return true;}
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

     @Override


    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK)) { //Back key pressed
            mCountDownTimer.cancel();
            Intent in = new Intent(getApplicationContext(), MyActivity2.class);
            startActivity(in);
            mCountDownTimer.cancel();
            return true;
        }else{
            return super.onKeyDown(keyCode, event);
        }
    }


    @Override
    public void onBackPressed(){
        mCountDownTimer.cancel();
        Intent in = new Intent(this, MyActivity2.class);
        startActivity(in);

        super.onBackPressed();

    }

}

共有1个答案

司空海荣
2023-03-14

onBackPressed应该在主活动类中

还可以尝试在应用程序的清单文件中指定父活动和子活动,例如

android:parentActivityName

尝试使用这样的东西并重建您的应用程序

@Override 
public void onBackPressed() {
super.onBackPressed();
i = new Intent(CurrentActivity.this, NextActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i);
finish();
} 

如果它仍然不工作尝试使一个新的应用程序和导入您的文件

 类似资料:
  • 我正在探索用于集成测试的空手道API double(模拟)。对于下面的场景,我没有得到预期的嘲笑响应。谢谢你的帮助。 我的设置: 1.空手道模拟服务器与路径匹配规则端口8001:http://localhost:8001(工作,针对/cat和一些测试调用进行验证)2。我自己的应用程序是从docker端口8080。从Docker暴露8001端口以及。 模拟案例:1。我的应用程序REST调用向所有用户

  • 我正在尝试构建 当我运行mvn时,它给出一个错误 如果我使用随机的,将在目标文件夹中创建jar文件,但是 只是好奇,正确的命令是什么?

  • 我现在正试图在我的机器上安装eslint,但它说我需要检查权限,因为它缺少对/user/local/lib/node_模块的写访问权限。有人知道如何解决这个问题吗?谢谢

  • 所以我有一个工作运行下载一些文件,它通常需要大约10分钟。这个程序运行了一个多小时才最终失败,只有以下错误消息: 工作流失败。原因:(3F03D0279DD2EB98):数据流似乎卡住了。请联系Dataflow团队,网址是http://stackoverflow.com/questions/tagged/google-cloud-dataflow。 所以我在这里:-)工作ID:2017-08-29

  • 我正在尝试实现一个模块化的身份验证/授权应用程序。我想知道Shiro是否是正确的选择。我想得到的是有一个系统,我可以插入其中,也许以后可以交换一些身份验证endpoint和授权endpoint。我希望能够使用shiro进行身份验证(例如,我将为shiro实现facebook插件,或为shiro实现ldap插件,我可以轻松地将其插入我的身份验证/授权应用程序)。我还可能希望使用不同于shiro的框架

  • 本文向大家介绍来说一说,你在工作中喜欢和哪种人共事?相关面试题,主要包含被问及来说一说,你在工作中喜欢和哪种人共事?时的应答技巧和注意事项,需要的朋友参考一下 负责任、靠谱的人。 工作交给ta很放心,结果常常超出自己的预期,能同甘共苦,亦师亦友那种。