zoukankan      html  css  js  c++  java
  • Android开发中在一个Activity中关闭另一个Activity

     

    Android开发中在一个Activity中关闭另一个Activity

    比如有ActivityA, ActivityB,在ActivityB中关闭ActivityA

    解决方案:
    1.
    在 ActivityA 里面设置一个静态的变量instance,初始化为this
    在 ActivityB 里面, ActivityA.instance.finish();
     
    2.
    也可以通过ActivityManager 
    ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);   
    manager.restartPackage(packageName); 
     
    可以加入:Android 开发总交流群:179730949(500人) 或 Android开发总交流群:249919939(1000人)
     
    例子如下:
     
    ActivityA
    package com.activity.yuzhenbei;
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.view.KeyEvent;
    import android.view.Menu;
    import android.view.MenuItem;
    public class MainActivity extends Activity {
        public static ActivityA instance = null;   
    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activitya);
            instance = this;
            Intent intent = new Intent();
    intent.setClass(ActivityA.this, ActivityB.class);
    ActivityA.this.startActivity(intent);
        }
            // Menu
      // 当点击Menu按钮时,调用该方法
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
      menu.add(0, 1, 1, R.string.help).setIcon(
      android.R.drawable.ic_menu_close_clear_cancel);
      return super.onCreateOptionsMenu(menu);
      }
     
      // 选中某个菜
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
      if (item.getItemId() == 1) {
      Intent intent = new Intent();
    intent.setClass(ActivityA.this, ActivityB.class);
    ActivityA.this.startActivity(intent);
      }
      return super.onOptionsItemSelected(item);
      }
     
           // 返回键
      @Override
      public boolean onKeyDown(int keyCode, KeyEvent event) {
      if (keyCode == KeyEvent.KEYCODE_BACK) { // 如果是手机上的返回键
      ActivityA.this.finish();
      }
      return super.onKeyDown(keyCode, event);
      }
    }
     
    ActivityB
    package com.activity.yuzhenbei;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.view.View;
    public class  ActivityB extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activityb);
    }
    // 返回键
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) { // 如果是手机上的返回键
    ActivityB.this.finish();
    ActivityA.instance.finish();
    }
    return super.onKeyDown(keyCode, event);
    }
    }
  • 相关阅读:
    Java中的泛型
    Java中List、Collections实现梭哈游戏
    Java中HashMap案例
    Java中ArrayDeque,栈与队列
    Java中List的使用
    学会使用JDK API
    Java中的数学运算BigDecimal
    在清华听演讲语录
    Java面向对象深度
    类变量、实参、形参、方法参数、代码块参数
  • 原文地址:https://www.cnblogs.com/geniusxjq/p/4157622.html
Copyright © 2011-2022 走看看