package com.android_mvc.framework.activities.base;
import android.app.Activity;
import android.app.TabActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.android_mvc.framework.activities.CommonActivityUtil;
import com.android_mvc.framework.activities.IBaseActivity;
import com.android_mvc.framework.controller.action.ActionResult;
import com.android_mvc.framework.controller.validation.ActivityParams;
import com.android_mvc.framework.ui.menu.OptionMenuBuilder;
/**
* タブの親Activityの基底クラス。
* @author id:language_and_engineering
*
*/
public abstract class BaseTabHostActivity extends TabActivity implements IBaseActivity
{
// ----- TabActivity専用の記述 -----
// NOTE: TabHost構造は3.0以降のタブレットのご時世ではDeprecated。
// しかし,2.3以前でFragmentsを利用可能にするためにあれやこれやも
// めんどい&不安定なので,TabHostでゆく。自分の端末が2.3だし…。
// http://www.atmarkit.co.jp/fsmart/articles/android25/01.html
// ここから下はBase系Activity間で共通
// ----- 一般メンバ -----
// Activityの共通便利クラス
protected CommonActivityUtil<BaseTabHostActivity> $;
// UI構築用
protected Activity context;
@Override
public ActivityParams toParams() {
return null;
}
@Override
public void afterBLExecuted(ActionResult ares)
{
}
// ----- 画面初期化関連 -----
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
context = this;
$ = new CommonActivityUtil<BaseTabHostActivity>();
$.onActivityCreated( this );
}
@Override
public void procAsyncBeforeUI() {
}
@Override
public boolean requireProcBeforeUI() {
return false;
}
@Override
public void afterViewDefined()
{
}
// ------ メニュー関連 ------
@Override
public OptionMenuBuilder defineMenu()
{
return null;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu = $.renderOptionMenuAsDescribed( menu );
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
$.onOptionItemSelected(item);
return super.onOptionsItemSelected(item);
}
}