不能转换为TabActivity FragmentTabHost [英] Can not convert from TabActivity to FragmentTabHost

查看:358
本文介绍了不能转换为TabActivity FragmentTabHost的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有延伸TabActivity类

由于TabActivity是德precated,我想用FragmentTabHost将其转换。
问题是,当我启动应用程序,我得到这个错误。
因为我还针对Android新手,有人可以帮助我如何解决这个问题。
TabActivity能给我一些问题,新设备或者我还可以用它白化问题?

感谢您

这是日志猫

  05-15 22:22:10.365:E / AndroidRuntime(2452):致命异常:主要
05-15 22:22:10.365:E / AndroidRuntime(2452):java.lang.ClassCastException:com.wilbur.app.ui.CatalogLocalListActivity不能转换为android.support.v4.app.Fragment
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.support.v4.app.Fragment.instantiate(Fragment.java:402)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:343)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:280)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.View.dispatchAttachedToWindow(View.java:12761)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2642)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2649)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2649)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2649)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1470)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1230)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:5089)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.Choreographer $ CallbackRecord.run(Choreographer.java:791)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.Choreographer.doCallbacks(Choreographer.java:591)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.Choreographer.doFrame(Choreographer.java:561)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:777)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.os.Handler.handleCallback(Handler.java:725)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.os.Handler.dispatchMessage(Handler.java:92)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.os.Looper.loop(Looper.java:137)
05-15 22:22:10.365:E / AndroidRuntime(2452):在android.app.ActivityThread.main(ActivityThread.java:5283)
05-15 22:22:10.365:E / AndroidRuntime(2452):在java.lang.reflect.Method.invokeNative(本机方法)
05-15 22:22:10.365:E / AndroidRuntime(2452):在java.lang.reflect.Method.invoke(Method.java:511)
05-15 22:22:10.365:E / AndroidRuntime(2452):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1102)
05-15 22:22:10.365:E / AndroidRuntime(2452):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
05-15 22:22:10.365:E / AndroidRuntime(2452):在dalvik.system.NativeStart.main(本机方法)

这是FragmentTabHost转化活动

 公共类CatalogTabHostActivity扩展FragmentActivity {公共静态最终诠释RESULT_EULA_CANCELED = 100;私有静态最后弦乐TAB_LOCAL =本地;保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.catalog_tab_host);
    mInstance =这一点;
    意向I = getIntent();
    捆绑额外= NULL;
    如果(我!= NULL){
        演员= i.getExtras();
    }
    FragmentTabHost mTab​​Host =(FragmentTabHost)findViewById(android.R.id.tabhost);
    mTabHost.setup(CatalogTabHostActivity.this,getSupportFragmentManager(),android.R.id.tabcontent);
    意图int​​entLocalCatalog =新意图(这一点,CatalogLocalListActivity.class);
    如果(临时演员!= NULL){
        intentLocalCatalog.putExtras(临时演员);
    }    mTabHost.addTab(mTabHost.newTabSpec(TAB_LOCAL).setIndicator(),CatalogLocalListActivity.class,NULL);
    mTabHost.getTabWidget()getChildTabViewAt(0).setVisibility(View.GONE)。
}保护无效onResume(){
    如果(!GlobalSettings.isAcceptedEULA(本)){
    }否则如果(!GlobalSettings.isChangeLogShowed(本)){
    // ChangeLogDialog.show(本);
        。ApplicationEx.getInstance()invalidateAutoUpdate();
        GlobalSettings.setChangeLogShowed(本);
    }
    super.onResume();
}私有静态CatalogTabHostActivity mInstance;公共静态活动的getInstance()
{
    返回mInstance;
}}

这是CatalogLocalListActivity

 公共类CatalogLocalListActivity扩展BaseCatalogActivity {公共静态最后弦乐EXTRA_INVOKE_LOCAL_UPDATE_LIST =EXTRA_INVOKE_LOCAL_UPDATE_LIST;私人布尔mInvokeSelectCurrent;
私人布尔mInvokeUpdateList;保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    mInvokeSelectCurrent =真;
    意图数据= getIntent();
    如果(数据!= NULL){
        mInvokeUpdateList = data.getBooleanExtra(EXTRA_INVOKE_LOCAL_UPDATE_LIST,FALSE);
    }
}保护无效setListView(){
    super.setListView();
    如果(mInvokeSelectCurrent){
        mInvokeSelectCurrent = FALSE;
        GlobalSettings.MapPath路径= GlobalSettings.getCurrentMap(本);
        串systemMapName = path.getSystemMapName();
        如果(systemMapName!= NULL){
            INT位置= mAdapter.findItemPosition(systemMapName);
            如果(位置!= - 1){
                mList.setSelection(位置);
            }
        }
    }
    如果(mInvokeUpdateList){
        mInvokeUpdateList = FALSE;
        invokeSelectUpdateMaps();
    }
}保护布尔isCatalogProgressEnabled(INT采用catalogId){
    返回采用catalogId == CatalogStorage.LOCAL;
}保护INT getEmptyListHeader(){
    返回R.string.msg_no_maps_in_local_header;
}保护INT getEmptyListMessage(){
    返回R.string.msg_no_maps_in_local;
}公众诠释getCatalogState(CatalogMap本地,远程CatalogMap){
    返回mRemote = NULL&放大器;!&安培; mLocal!= NULL? mStorageState.getLocalCatalogState(本地,远程):CatalogMapState.CALCULATING;
}公共布尔onCatalogMapClick(CatalogMap本地,远程CatalogMap,诠释状态){
    开关(州){
    案例计算:
        如果(local.isAvailable()){
            invokeFinish(局部);
        }其他{
            invokeMapDetails(本地,远程状态);
        }
        返回true;
    离线的情况下:
    情况下安装:
    案例更新:
        invokeFinish(局部);
        返回true;
    案例导入:
    案例下载:
    案例DOWNLOAD_PENDING:
    情况下装:
    案例IMPORT_PENDING:
    案例IMPORTING:
    案例NEED_TO_UPDATE:
    案例NOT_SUPPORTED:
    案例UPDATE_NOT_SUPPORTED:
    案例损坏:
        invokeMapDetails(本地,远程状态);
        返回true;
        // 没做什么
    }
    返回true;
}保护INT getDiffMode(){
    返回CatalogMapPair.DIFF_MODE_LOCAL;
}保护INT getLocalCatalogId(){
    返回CatalogStorage.LOCAL;
}保护INT getRemoteCatalogId(){
返回CatalogStorage.ONLINE;
}保护INT getDiffColors(){
    返回R.array.local_catalog_map_state_colors;
}/****************** 主菜单 ********************/私人最终诠释MAIN_MENU_UPDATE_MAPS = 1;
私人最终诠释MAIN_MENU_DELETE_MAPS = 2;私人最终静态INT REQUEST_UPDATE = 1;
私人最终静态INT REQUEST_DELETE = 2;公共布尔onCreateOptionsMenu(菜单菜单){
    super.onCreateOptionsMenu(菜单);
    menu.add(0,MAIN_MENU_UPDATE_MAPS,5,R.string.menu_update_maps).setIcon(R.drawable.icon_tab_import_selected);
    menu.add(0,MAIN_MENU_DELETE_MAPS,6,R.string.menu_delete_maps).setIcon(android.R.drawable.ic_menu_delete);
    返回true;
}prepareOptionsMenu(菜单菜单)上公共布尔{
    menu.findItem(MAIN_MENU_UPDATE_MAPS).setEnabled(mMode服务== MODE_LIST&放大器;&放大器;!mStorage.hasTasks());
    menu.findItem(MAIN_MENU_DELETE_MAPS).setEnabled(mMode服务== MODE_LIST&放大器;&放大器;!mStorage.hasTasks());
    返回super.on prepareOptionsMenu(菜单);
}公共布尔onOptionsItemSelected(菜单项项){
    开关(item.getItemId()){
    案例MAIN_MENU_UPDATE_MAPS:
        invokeSelectUpdateMaps();
        返回true;
    案例MAIN_MENU_DELETE_MAPS:
        invokeSelectDeleteMaps();
        返回true;
    }
    返回super.onOptionsItemSelected(项目);
}保护无效的onActivityResult(INT申请code,INT结果code,意图数据){
    开关(要求code){
    案例REQUEST_UPDATE:
        如果(结果code == RESULT_OK&放大器;&放大器;数据!= NULL){
            的String [] =名称data.getStringArrayExtra(CatalogMapSelectionActivity.EXTRA_SELECTION);
            对于(字符串的系统名称:名称){
                mStorage.requestDownload(系统名称);
            }
        }
        如果(结果code == CatalogMapSelectionActivity.RESULT_MAP_LIST_EMPTY){
            Toast.makeText(这一点,R.string.msg_no_maps_to_update,Toast.LENGTH_SHORT).show();
        }
        打破;
    案例REQUEST_DELETE:
        如果(结果code == RESULT_OK&放大器;&放大器;数据!= NULL){
            的String [] =名称data.getStringArrayExtra(CatalogMapSelectionActivity.EXTRA_SELECTION);
            对于(字符串的系统名称:名称){
                mStorage.deleteLocalMap(系统名称);
            }
        }
        如果(结果code == CatalogMapSelectionActivity.RESULT_MAP_LIST_EMPTY){
            Toast.makeText(这一点,R.string.msg_no_maps_to_delete,Toast.LENGTH_SHORT).show();
        }
        打破;
    }
    super.onActivityResult(要求code,结果code,数据);
}私人无效invokeSelectDeleteMaps(){
    意图I =新意图(这一点,CatalogMapSelectionActivity.class);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_TITLE,它是gettext(R.string.menu_delete_maps));
    i.putExtra(CatalogMapSelectionActivity.EXTRA_REMOTE_ID,CatalogStorage.ONLINE);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_REMOTE_MODE,CatalogMapPair.DIFF_MODE_LOCAL);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_FILTER,mActionBarEditText.getText()的toString());
    i.putExtra(CatalogMapSelectionActivity.EXTRA_SORT_MODE,CheckedCatalogAdapter.SORT_MODE_COUNTRY);
    startActivityForResult(ⅰ,REQUEST_DELETE);
}私人无效invokeSelectUpdateMaps(){
    意图I =新意图(这一点,CatalogMapSelectionActivity.class);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_TITLE,它是gettext(R.string.menu_update_maps));
    i.putExtra(CatalogMapSelectionActivity.EXTRA_REMOTE_ID,CatalogStorage.ONLINE);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_FILTER,mActionBarEditText.getText()的toString());
    i.putExtra(CatalogMapSelectionActivity.EXTRA_SORT_MODE,CheckedCatalogAdapter.SORT_MODE_COUNTRY);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_CHECKABLE_STATES,新的INT [] {CatalogMapState.UPDATE,CatalogMapState.NEED_TO_UPDATE});
    i.putExtra(CatalogMapSelectionActivity.EXTRA_VISIBLE_STATES,新的INT [] {CatalogMapState.UPDATE,CatalogMapState.NEED_TO_UPDATE});
    startActivityForResult(ⅰ,REQUEST_UPDATE);
}
 }


解决方案

引用的 的文档 FragmentTabHost


  

特别TabHost,允许其标签内容利用碎片对象。


您正试图把一个活动作为它的标签内容。请将其转换成为片段

I have a class which extends TabActivity

Because TabActivity is deprecated, i would like to convert it using FragmentTabHost. The problem is when i launch the app, i get this error. Because i still a newbie on android, can someone help me how to solve this problem. Can TabActivity give me some problem in newer devices or can i still use it whiteout problem?

Thank you

This is the log cat

05-15 22:22:10.365: E/AndroidRuntime(2452): FATAL EXCEPTION: main
05-15 22:22:10.365: E/AndroidRuntime(2452): java.lang.ClassCastException: com.wilbur.app.ui.CatalogLocalListActivity cannot be cast to android.support.v4.app.Fragment
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.support.v4.app.Fragment.instantiate(Fragment.java:402)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:343)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:280)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.View.dispatchAttachedToWindow(View.java:12761)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2642)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2649)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2649)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2649)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1470)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1230)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5089)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.Choreographer.doCallbacks(Choreographer.java:591)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.Choreographer.doFrame(Choreographer.java:561)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.os.Handler.handleCallback(Handler.java:725)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.os.Handler.dispatchMessage(Handler.java:92)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.os.Looper.loop(Looper.java:137)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at android.app.ActivityThread.main(ActivityThread.java:5283)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at java.lang.reflect.Method.invokeNative(Native Method)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at java.lang.reflect.Method.invoke(Method.java:511)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
05-15 22:22:10.365: E/AndroidRuntime(2452):     at dalvik.system.NativeStart.main(Native Method)

this is the activity converted in FragmentTabHost

public class CatalogTabHostActivity extends FragmentActivity {

public static final int RESULT_EULA_CANCELED = 100; 

private static final String TAB_LOCAL = "local";

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.catalog_tab_host);
    mInstance = this;
    Intent i = getIntent();
    Bundle extras = null;
    if(i!=null){
        extras = i.getExtras();
    }
    FragmentTabHost mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
    mTabHost.setup(CatalogTabHostActivity.this, getSupportFragmentManager(), android.R.id.tabcontent);


    Intent intentLocalCatalog = new Intent(this, CatalogLocalListActivity.class);
    if(extras!=null){
        intentLocalCatalog.putExtras(extras);
    }

    mTabHost.addTab( mTabHost.newTabSpec(TAB_LOCAL).setIndicator(""), CatalogLocalListActivity.class, null);


    mTabHost.getTabWidget().getChildTabViewAt(0).setVisibility(View.GONE);


}

protected void onResume() {
    if(!GlobalSettings.isAcceptedEULA(this)){
    }else if(!GlobalSettings.isChangeLogShowed(this)){
    //  ChangeLogDialog.show(this);
        ApplicationEx.getInstance().invalidateAutoUpdate();
        GlobalSettings.setChangeLogShowed(this);
    }
    super.onResume();
}



private static CatalogTabHostActivity mInstance;

public static Activity getInstance()
{
    return mInstance;
}

}

This is the CatalogLocalListActivity

public class CatalogLocalListActivity extends BaseCatalogActivity {

public static final String EXTRA_INVOKE_LOCAL_UPDATE_LIST = "EXTRA_INVOKE_LOCAL_UPDATE_LIST";

private boolean mInvokeSelectCurrent;
private boolean mInvokeUpdateList;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mInvokeSelectCurrent = true;
    Intent data = getIntent();
    if(data!=null){
        mInvokeUpdateList = data.getBooleanExtra(EXTRA_INVOKE_LOCAL_UPDATE_LIST, false);
    }
}

protected void setListView() {
    super.setListView();
    if(mInvokeSelectCurrent){
        mInvokeSelectCurrent = false;
        GlobalSettings.MapPath path = GlobalSettings.getCurrentMap(this);
        String systemMapName = path.getSystemMapName();
        if(systemMapName!=null){
            int position = mAdapter.findItemPosition(systemMapName);
            if(position!=-1){
                mList.setSelection(position);
            }
        }
    }
    if(mInvokeUpdateList){
        mInvokeUpdateList = false;
        invokeSelectUpdateMaps();
    }       
}

protected boolean isCatalogProgressEnabled(int catalogId) {
    return catalogId == CatalogStorage.LOCAL;
}

protected int getEmptyListHeader() {
    return R.string.msg_no_maps_in_local_header;
}

protected int getEmptyListMessage() {
    return R.string.msg_no_maps_in_local;
}

public int getCatalogState(CatalogMap local, CatalogMap remote) {
    return mRemote!=null && mLocal!=null ? mStorageState.getLocalCatalogState(local, remote) : CatalogMapState.CALCULATING;
}

public boolean onCatalogMapClick(CatalogMap local, CatalogMap remote, int state) {
    switch(state){
    case CALCULATING:
        if(local.isAvailable()){
            invokeFinish(local);
        }else{
            invokeMapDetails(local,remote,state);
        }
        return true;
    case OFFLINE:
    case INSTALLED:
    case UPDATE:
        invokeFinish(local);
        return true;
    case IMPORT:
    case DOWNLOAD:
    case DOWNLOAD_PENDING:
    case DOWNLOADING:
    case IMPORT_PENDING:
    case IMPORTING:
    case NEED_TO_UPDATE:
    case NOT_SUPPORTED:
    case UPDATE_NOT_SUPPORTED:
    case CORRUPTED:
        invokeMapDetails(local,remote,state);
        return true;
        // do nothing
    }               
    return true;
}

protected int getDiffMode() {
    return CatalogMapPair.DIFF_MODE_LOCAL;
}

protected int getLocalCatalogId() {
    return CatalogStorage.LOCAL;
}

protected int getRemoteCatalogId() {
return CatalogStorage.ONLINE;
} 

protected int getDiffColors() {
    return R.array.local_catalog_map_state_colors;
}

/****************** MAIN MENU ********************/

private final int MAIN_MENU_UPDATE_MAPS = 1;
private final int MAIN_MENU_DELETE_MAPS = 2;

private final static int REQUEST_UPDATE = 1;
private final static int REQUEST_DELETE = 2;

public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    menu.add(0, MAIN_MENU_UPDATE_MAPS, 5, R.string.menu_update_maps).setIcon(R.drawable.icon_tab_import_selected);
    menu.add(0, MAIN_MENU_DELETE_MAPS, 6, R.string.menu_delete_maps).setIcon(android.R.drawable.ic_menu_delete);
    return true;
}

public boolean onPrepareOptionsMenu(Menu menu) {
    menu.findItem(MAIN_MENU_UPDATE_MAPS).setEnabled(mMode == MODE_LIST && !mStorage.hasTasks());
    menu.findItem(MAIN_MENU_DELETE_MAPS).setEnabled(mMode == MODE_LIST && !mStorage.hasTasks());
    return super.onPrepareOptionsMenu(menu);
}

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case MAIN_MENU_UPDATE_MAPS:
        invokeSelectUpdateMaps();
        return true;
    case MAIN_MENU_DELETE_MAPS:
        invokeSelectDeleteMaps();
        return true;
    }
    return super.onOptionsItemSelected(item);
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
    case REQUEST_UPDATE:
        if(resultCode == RESULT_OK && data!=null){
            String[] names = data.getStringArrayExtra(CatalogMapSelectionActivity.EXTRA_SELECTION);
            for (String systemName : names) {
                mStorage.requestDownload(systemName);
            }
        }
        if(resultCode == CatalogMapSelectionActivity.RESULT_MAP_LIST_EMPTY){
            Toast.makeText(this, R.string.msg_no_maps_to_update, Toast.LENGTH_SHORT).show();
        }
        break;
    case REQUEST_DELETE:
        if(resultCode == RESULT_OK && data!=null){
            String[] names = data.getStringArrayExtra(CatalogMapSelectionActivity.EXTRA_SELECTION);
            for (String systemName : names) {
                mStorage.deleteLocalMap(systemName);
            }
        }
        if(resultCode == CatalogMapSelectionActivity.RESULT_MAP_LIST_EMPTY){
            Toast.makeText(this, R.string.msg_no_maps_to_delete, Toast.LENGTH_SHORT).show();
        }
        break;
    }
    super.onActivityResult(requestCode, resultCode, data);
}

private void invokeSelectDeleteMaps() {
    Intent i = new Intent(this, CatalogMapSelectionActivity.class);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_TITLE, getText(R.string.menu_delete_maps));
    i.putExtra(CatalogMapSelectionActivity.EXTRA_REMOTE_ID, CatalogStorage.ONLINE);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_REMOTE_MODE, CatalogMapPair.DIFF_MODE_LOCAL);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_FILTER, mActionBarEditText.getText().toString());
    i.putExtra(CatalogMapSelectionActivity.EXTRA_SORT_MODE, CheckedCatalogAdapter.SORT_MODE_COUNTRY);
    startActivityForResult(i, REQUEST_DELETE);
}

private void invokeSelectUpdateMaps() {
    Intent i = new Intent(this, CatalogMapSelectionActivity.class);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_TITLE, getText(R.string.menu_update_maps));
    i.putExtra(CatalogMapSelectionActivity.EXTRA_REMOTE_ID, CatalogStorage.ONLINE);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_FILTER, mActionBarEditText.getText().toString());
    i.putExtra(CatalogMapSelectionActivity.EXTRA_SORT_MODE, CheckedCatalogAdapter.SORT_MODE_COUNTRY);
    i.putExtra(CatalogMapSelectionActivity.EXTRA_CHECKABLE_STATES, new int[]{ CatalogMapState.UPDATE, CatalogMapState.NEED_TO_UPDATE } );
    i.putExtra(CatalogMapSelectionActivity.EXTRA_VISIBLE_STATES, new int[]{ CatalogMapState.UPDATE, CatalogMapState.NEED_TO_UPDATE } );
    startActivityForResult(i, REQUEST_UPDATE);
}   
 }

解决方案

Quoting the documentation for FragmentTabHost:

Special TabHost that allows the use of Fragment objects for its tab content.

You are attempting to put an Activity as its tab content. Please convert that to be a Fragment.

这篇关于不能转换为TabActivity FragmentTabHost的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆