TabHost的应用(中)-------(第四日)

本文详细介绍了如何在Android应用中利用TabHost管理多个ActivityGroup,并以具体的实例展示如何创建和使用OneGroupActivity及其内部的OneActivity。通过设置ActivityGroup和Activity的交互,实现了一个动态切换不同功能模块的界面体验。此外,文章还涉及了StrictMode的使用以增强应用的内存管理和安全性。最后,作者分享了个人经验并鼓励同行交流与进步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接着前天的继续,昨天说到TabHost主activity:MainActivity,里面包含了两个ActivityGroup,分别为OneGroupActivity和TwoActivity;另外OneGroupActivity里面包含里两个activity。

昨晚贴出了MainActivity和其xml布局文件。今晚继续贴出第一组ActivityGroup,及其包含的Activity代码。

ActivityGroup.java

package com.lianjiao.sport.activity.tabHostActivity;

import android.app.ActivityGroup;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.Window;

public class OneGroupActivity extends ActivityGroup {
	 /**
     * 一个静态的ActivityGroup变量,用于管理本Group中的Activity
     */ 
    public static ActivityGroup group; 
       
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        // TODO Auto-generated method stub 
        super.onCreate(savedInstanceState); 
        System.out.println("进入到OneGroupActivity中");
        group = this; 
        Intent intent = new Intent(this, OneActivity.class). 
                addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      //把一个Activity转换成一个View 
      Window w = group.getLocalActivityManager().startActivity("OneActivity",intent); 
      View view = w.getDecorView(); 
      //把View添加到ActivityGroup中 
      group.setContentView(view); 
           
    } 
   
    @Override 
    public void onBackPressed() { 
        group.getLocalActivityManager() 
            .getCurrentActivity().onBackPressed(); 
    } 
   
    @Override 
    protected void onResume() { 
        super.onResume(); 
    }

}

ActivityGroup.java没有对应的布局文件



接着,贴出其包含的activity代码

import android.annotation.SuppressLint;
import android.app.ActivityGroup;
import android.os.Bundle;
import android.os.StrictMode;

public class OneActivity extends Activity {
 
        
    @SuppressLint({ "SdCardPath", "NewApi" })
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
        .detectDiskReads()
        .detectDiskWrites()
        .detectAll()   // or .detectAll() for all detectable problems
        .penaltyLog()
        .build());
        StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
        .detectLeakedSqlLiteObjects()
        .detectLeakedClosableObjects()
        .penaltyLog()
        .penaltyDeath()
        .build());
        //setContentView(R.layout.activity_one);
    
       
       
    }
   
}

每天都工作很晚,其实这些都不重要,每个码农都是如此吧。但是隔三差五的搞点不同的。今天工作,写了一天的js,明天我把写的东东,整理下。发到这里来。欢迎大家来找茬,或者发表你更高明的见解。2013年2月28日23:13:17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值