Generally, viewpage is referenced in XML as follows:
<? XML version = "1.0" encoding = "UTF-8"?>
<Linearlayout xmlns: Android = "http://schemas.android.com/apk/res/android"
Android: Orientation = "vertical"
Android: layout_width = "fill_parent"
Android: layout_height = "fill_parent"
>
<Android. Support. v4.view. viewpager
Android: Id = "@ + ID/guidepages"
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"/>
</Linearlayout>
This is correct, but the runtime can not find Android. Support. v4.view. viewpager, has imported the library file android-support-v4.jar,
Cause: the source file is not added. The procedure is as follows:
Create a new libs folder, place the android-support-v4.jar under the folder, right-click the folder, and choose build path-> use as source folder to solve the problem.
Cause analysis: the XML file references the source file.
Code attached:
Main class:
Import java. util. arraylist;
Import Android. App. activity;
Import Android. OS. Bundle;
Import Android. Support. v4.view. viewpager;
Import Android. View. layoutinflater;
Import Android. View. view;
Public class viewpagetest2 extends activity {
/** Called when the activity is first created .*/
Private viewpager = NULL;
Private arraylist <View> listview = NULL;
@ Override
Public void oncreate (bundle savedinstancestate ){
Super. oncreate (savedinstancestate );
Setcontentview (R. layout. Main );
Initviewpager ();
}
Private void initviewpager (){
Viewpager = (viewpager) findviewbyid (R. Id. guidepages );
Listview = new arraylist <View> ();
Layoutinflater Inflater = getlayoutinflater ();
Listview. Add (Inflater. Inflate (R. layout. One, null ));
Listview. Add (Inflater. Inflate (R. layout. Two, null ));
Listview. Add (Inflater. Inflate (R. layout. Three, null ));
Viewpager. setadapter (New mypageradapter (listview ));
Viewpager. setonpagechangelistener (New mypagerchangelistener ());
}
}
Mypageradapter class:
Import java. util. List;
Import Android. OS. parcelable;
Import Android. Support. v4.view. pageradapter;
Import Android. Support. v4.view. viewpager;
Import Android. View. view;
Public class mypageradapter extends pageradapter {
Private list <View> list;
Public mypageradapter (list <View> List ){
This. List = List;
}
@ Override
Public void destroyitem (view, int index, object arg2 ){
// Todo auto-generated method stub
(Viewpager) view). removeview (list. Get (INDEX ));
}
@ Override
Public void finishupdate (view arg0 ){
// Todo auto-generated method stub
}
@ Override
Public int getcount (){
// Todo auto-generated method stub
Return list. Size ();
}
@ Override
Public object instantiateitem (view, int index ){
(Viewpager) view). addview (list. Get (INDEX), 0 );
Return list. Get (INDEX );
}
@ Override
Public Boolean isviewfromobject (view, object ){
// Todo auto-generated method stub
Return view = (object );
}
@ Override
Public void restorestate (parcelable arg0, classloader arg1 ){
// Todo auto-generated method stub
}
@ Override
Public parcelable savestate (){
// Todo auto-generated method stub
Return NULL;
}
@ Override
Public void startupdate (view arg0 ){
// Todo auto-generated method stub
}
}
Mypagerchangelistener class:
Import Android. Support. v4.view. viewpager. onpagechangelistener;
Public class mypagerchangelistener implements onpagechangelistener
{
@ Override
Public void onpagescrollstatechanged (INT arg0)
{
// Todo auto-generated method stub
}
@ Override
Public void onpagescrolled (INT arg0, float arg1, int arg2)
{
// Todo auto-generated method stub
}
@ Override
Public void onpageselected (INT arg0)
{
// Todo auto-generated method stub
}
}