Android SDK Fragment Support

瘦欲@ 提交于 2019-11-28 08:29:12

问题


Ok i'm just starting to get into Android programming now, and I'm following the android "TabActivity" tutorial: http://developer.android.com/reference/android/app/TabActivity.html. Everythings working but it can't seem to find some of the support classes, see the code below that is generating the errors.

    mTabManager.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
            FragmentStackSupport.CountingFragment.class, null);
    mTabManager.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
            LoaderCursorSupport.CursorLoaderListFragment.class, null);
    mTabManager.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"), 
            LoaderCustomSupport.AppListFragment.class, null);
    mTabManager.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"),
            LoaderThrottleSupport.ThrottledLoaderListFragment.class,null);

For FragmentStackSupport/LoaderCursorSupport/LoaderCustomSupport/LoaderThrottleSupport, it says for all of them cannot be resolved to a type. I've added the latest support library to a folder in the root directory named "libs" and also coppied it into "C:/Eclipse/v4/" directory. My import files are:

    import java.util.HashMap;
    import android.R;
    import android.content.Context;
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentTransaction;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.view.View;
    import android.widget.TabHost;
    import cowdawg.hello_tab.namespace.R.layout;
    import cowdawg.hello_tab.namespace.R.id;

Could someone please offer me some advice on how to solve this, thanks :).


回答1:


It's probably because the following classes are not part of the standard Android API (or the support library), but only exist in the support demos sample code for demonstration purposes:

FragmentStackSupport.CountingFragment
LoaderCursorSupport.CursorLoaderListFragment
LoaderCustomSupport.AppListFragment
LoaderThrottleSupport.ThrottledLoaderListFragment

You will need to add these classes to your own project in order to be able to use them. Here you can find the source files under the subsection 'Files'.

  • FragmentStackSupport
  • LoaderCursorSupport
  • LoaderCustomSupport
  • LoaderThrottleSupport



回答2:


On Eclipse IDE: Select your project and then right click on the project -> Android Tools -> Add Support Library.

Required support library will be added on your project build path. You will found this library jar under Java Build Path -> Libraries tab -> Android Dependencies.

Enjoy exploring!




回答3:


Have you added the library to your build path? Right click on the jar in eclipse -> Build Path -> Add to Build Path.




回答4:


Try adding by right clicking on the project and opening properties window




回答5:


Instead of these missing classes you can create your own by subclassing Fragment class (or its subclasses like DialogFragment, ListFragment etc). More info is provided by Android here.



来源:https://stackoverflow.com/questions/8867134/android-sdk-fragment-support

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!