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);
    }
    }
  • 相关阅读:
    Eclipse 代码提示功能设置。
    eclipse android 查看源文件 出错的解决办法
    Android 中自定义控件和属性(attr.xml,declarestyleable,TypedArray)的方法和使用
    android屏幕尺寸 sp,px,dp,density,in介绍
    用C#实现的条形码和二维码编码解码器 之转载
    在Eclipse下如何导入jar安装包
    C# 获取往控件中拖进的文件或文件夹的信息(转)
    c#中Dictionary、ArrayList、Hashtable和数组的区别是什么?[转]
    C#中的枚举
    C#结构体特性
  • 原文地址:https://www.cnblogs.com/geniusxjq/p/4157622.html
Copyright © 2011-2022 走看看