Question

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 :).

Was it helpful?

Solution

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'.

OTHER TIPS

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!

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

enter image description here

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

enter image description here

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top