Android Open Source - android-mvc-framework Tab Host Builder






From Project

Back to project page android-mvc-framework.

License

The source code is released under:

Apache License

If you think the Android project android-mvc-framework listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.android_mvc.framework.ui.tab;
// ww  w.j a v a2s  .c  om
import java.util.ArrayList;

import com.android_mvc.framework.common.FWUtil;
import com.android_mvc.framework.controller.routing.TabContentMapping;

import android.app.Activity;
import android.app.TabActivity;
import android.content.Intent;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;

/**
 * XML??????????????????????????????????????????????????????
 * @author id:language_and_engineering
 *
 */
public class TabHostBuilder
{
    // NOTE: ???????????Activity?????????????

    private TabActivity activity;
    private TabHost tabhost;

    private TabContentMapping map;
    private ArrayList<TabDescription> descriptions = new ArrayList<TabDescription>();


    /**
     * ?????
     */
    public TabHostBuilder(Activity context)
    {
        this.activity = (TabActivity)context;
        this.tabhost = activity.getTabHost();
    }


    /**
     * ????????????????????????????????????????????????????????????????
     */
    public TabHostBuilder setChildActivities(TabContentMapping map)
    {
        this.map = map;
        return this;
    }


    /**
     * ????????????????????
     * ?????????????????????????
     */
    public TabHostBuilder add(TabDescription... descs)
    {
        for( int i = 0; i < descs.length; i ++ )
        {
            this.descriptions.add(descs[i]);
        }
        return this;
    }


    /**
     * ??????????????????????????????????????????????????
     */
    public void display()
    {
        // ????Host?????
        for( int i = 0; i < descriptions.size(); i ++ )
        {
            registerOneTabSpec( descriptions.get(i) );
        }
    }


    /**
     * ??????????????????????????????????????????????????????
     */
    private void registerOneTabSpec(TabDescription desc)
    {
        // ?????????
        String tabTag = desc.tabTag;
        String displayText = desc.displayText;
        int icon_resource_id = desc.icon_resource_id;

        // 1????????????????
        Class<? extends Activity> target_activity_class = map.getByTag(tabTag);
        if( target_activity_class == null )
        {
            FWUtil.e(
                "???????????????????????????????????????"
                    + tabTag
                    + "???????????Activity??????????????????????????????????"
            );
            return;
        }

        // spec?????????????
        TabSpec tabspec = tabhost
            .newTabSpec( tabTag )
            .setContent(
                new Intent(activity, target_activity_class)
                    .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
            )
        ;

        // ???????????????????????
        if( icon_resource_id != 0 )
        {
            tabspec.setIndicator(displayText, activity.getResources().getDrawable( icon_resource_id ));
        }
        else
        {
            tabspec.setIndicator(displayText);
        }

        // ???????????????
        tabhost.addTab( tabspec );
    }

}




Java Source Code List

com.android_mvc.framework.activities.CommonActivityUtil.java
com.android_mvc.framework.activities.IBaseActivity.java
com.android_mvc.framework.activities.base.BaseMapActivity.java
com.android_mvc.framework.activities.base.BaseNormalActivity.java
com.android_mvc.framework.activities.base.BaseTabHostActivity.java
com.android_mvc.framework.activities.installation.InstallAppFWBaseActivity.java
com.android_mvc.framework.annotations.SuppressDebugLog.java
com.android_mvc.framework.common.AbstractAppSettings.java
com.android_mvc.framework.common.BaseUtil.java
com.android_mvc.framework.common.FWUtil.java
com.android_mvc.framework.controller.BaseController.java
com.android_mvc.framework.controller.ControlFlowDetail.java
com.android_mvc.framework.controller.action.ActionResult.java
com.android_mvc.framework.controller.action.BLExecutor.java
com.android_mvc.framework.controller.action.BaseAction.java
com.android_mvc.framework.controller.routing.IntentPortable.java
com.android_mvc.framework.controller.routing.Router.java
com.android_mvc.framework.controller.routing.RoutingTable.java
com.android_mvc.framework.controller.routing.TabContentMapping.java
com.android_mvc.framework.controller.validation.ActivityParams.java
com.android_mvc.framework.controller.validation.BaseValidationsUtil.java
com.android_mvc.framework.controller.validation.NumberComparator.java
com.android_mvc.framework.controller.validation.ValidationExecutor.java
com.android_mvc.framework.controller.validation.ValidationResult.java
com.android_mvc.framework.db.DBHelper.java
com.android_mvc.framework.db.dao.BaseDAO.java
com.android_mvc.framework.db.dao.BaseDBDAO.java
com.android_mvc.framework.db.dao.BasePrefDAO.java
com.android_mvc.framework.db.dao.FWPrefDAO.java
com.android_mvc.framework.db.dao.Finder.java
com.android_mvc.framework.db.dao.IFWDAO.java
com.android_mvc.framework.db.entity.BaseLogicalEntity.java
com.android_mvc.framework.db.schema.AbstractSchemaDefinition.java
com.android_mvc.framework.db.schema.RDBColumn.java
com.android_mvc.framework.db.schema.RDBSchema.java
com.android_mvc.framework.db.schema.RDBTable.java
com.android_mvc.framework.db.transaction.todo.TxnListener.java
com.android_mvc.framework.db.transaction.todo.TxnScope.java
com.android_mvc.framework.net.HttpPostRequest.java
com.android_mvc.framework.net.HttpPostResponse.java
com.android_mvc.framework.net.old.HttpPostHandler.java
com.android_mvc.framework.net.old.HttpPostTask.java
com.android_mvc.framework.task.AsyncTasksRunner.java
com.android_mvc.framework.task.RunnerFollower.java
com.android_mvc.framework.task.SequentialAsyncTask.java
com.android_mvc.framework.ui.UIBuilder.java
com.android_mvc.framework.ui.UIUtil.java
com.android_mvc.framework.ui.menu.OptionMenuBuilder.java
com.android_mvc.framework.ui.menu.OptionMenuDescription.java
com.android_mvc.framework.ui.tab.TabDescription.java
com.android_mvc.framework.ui.tab.TabHostBuilder.java
com.android_mvc.framework.ui.view.IFWView.java
com.android_mvc.framework.ui.view.MButton.java
com.android_mvc.framework.ui.view.MCheckBox.java
com.android_mvc.framework.ui.view.MEditText.java
com.android_mvc.framework.ui.view.MLinearLayout.java
com.android_mvc.framework.ui.view.MTextView.java
com.android_mvc.sample_project.activities.func_db.DBEditActivity.java
com.android_mvc.sample_project.activities.func_db.DBListActivity.java
com.android_mvc.sample_project.activities.func_db.SampleTabHostActivity.java
com.android_mvc.sample_project.activities.func_net.HttpNetActivity.java
com.android_mvc.sample_project.activities.installation.InstallAppActivity.java
com.android_mvc.sample_project.activities.installation.InstallCompletedActivity.java
com.android_mvc.sample_project.activities.installation.lib.InstallAppUserBaseActivity.java
com.android_mvc.sample_project.activities.main.TopActivity.java
com.android_mvc.sample_project.common.AppSettings.java
com.android_mvc.sample_project.common.Util.java
com.android_mvc.sample_project.controller.FuncDBController.java
com.android_mvc.sample_project.controller.FuncDBValidation.java
com.android_mvc.sample_project.controller.FuncNetController.java
com.android_mvc.sample_project.controller.FuncNetValidation.java
com.android_mvc.sample_project.controller.MainController.java
com.android_mvc.sample_project.controller.util.ValidationsUtil.java
com.android_mvc.sample_project.db.dao.FriendDAO.java
com.android_mvc.sample_project.db.dao.PrefDAO.java
com.android_mvc.sample_project.db.dao.todo.HogeDAO.java
com.android_mvc.sample_project.db.entity.Friend.java
com.android_mvc.sample_project.db.entity.lib.LogicalEntity.java
com.android_mvc.sample_project.db.schema.SchemaDefinition.java
com.android_mvc.sample_project.domain.DBDeleteAction.java
com.android_mvc.sample_project.domain.DBEditAction.java
com.android_mvc.sample_project.domain.DBUpdateAction.java
com.android_mvc.sample_project.domain.HttpNetAction.java