package net.npaka.activitygroupex;
import android.app.ActivityGroup;
import android.app.LocalActivityManager;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;
//アクティビティグループの利用
public class ActivityGroupEx extends ActivityGroup
implements OnClickListener {
private LinearLayout layout;
private LocalActivityManager lam=null;
private int count=0;
//初期化
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//レイアウトの生成
layout=new LinearLayout(this);
layout.setBackgroundColor(Color.rgb(255,255,255));
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
//ボタンの生成
Button button=new Button(this);
button.setText("ボタン");
button.setOnClickListener(this);
setLLParams(button);
layout.addView(button);
//ローカルアクティビティマネージャの取得
lam=getLocalActivityManager();
}
//ボタンクリック時に呼ばれる
public void onClick(View v) {
count++;
try {
//アクティビティの追加
Intent intent=new Intent(this,MyActivity.class);
Window window=lam.startActivity(
String.valueOf(count+10000),intent);
layout.addView(window.getDecorView());
} catch (Exception e) {
Toast.makeText(this,e.getMessage(),
Toast.LENGTH_LONG).show();
}
}
//ライナーレイアウトのパラメータ指定
private static void setLLParams(View view) {
view.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
}
}
|