Android 带有片段的Viewpager创建java.lang.RuntimeException

Android 带有片段的Viewpager创建java.lang.RuntimeException,android,android-fragments,Android,Android Fragments,我正在尝试创建一个带有片段的Viewpager 我有4项活动与我的问题有关 这是第一个活动 (ViewPagePractivity是第二个活动): 剩下的两个活动是Viewpageradapter,它是适配器 对于我的viewpager,最后一个是称为ViewpagerFragment的片段 以下是我的适配器语法: package com.exple.v1; import android.support.v4.app.Fragment; import android.support.v4.ap

我正在尝试创建一个带有片段的Viewpager

我有4项活动与我的问题有关

这是第一个活动 (ViewPagePractivity是第二个活动):

剩下的两个活动是Viewpageradapter,它是适配器 对于我的viewpager,最后一个是称为ViewpagerFragment的片段

以下是我的适配器语法:

package com.exple.v1;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;

public class ViewpagerAdapter extends FragmentStatePagerAdapter{

    int[] image = {};


    public ViewpagerAdapter(FragmentManager fm)
    {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        // TODO Auto-generated method stub
        return new ViewpagerFragment();
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 5;
    }

}
这是我的片段类:

package com.exple.v1;

import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class ViewpagerFragment extends Fragment{


    public ViewpagerFragment()
    {


    }


    public View onCreateView(LayoutInflater inflater,ViewGroup container,
            Bundle savedInstanceState)
    {
        View rootView = inflater.inflate(R.layout.viewpager_item,
                container, false);
        return rootView;
    }
}
由于某种原因,出现了一条错误消息。 以下是logcat的全部错误:

05-02 09:05:51.580: E/AndroidRuntime(32031): FATAL EXCEPTION: main
05-02 09:05:51.580: E/AndroidRuntime(32031): Process: com.exple.v1, PID: 32031
05-02 09:05:51.580: E/AndroidRuntime(32031): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.exple.v1/com.exple.v1.ViewpagerActivity}: java.lang.NullPointerException
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.access$900(ActivityThread.java:161)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.os.Handler.dispatchMessage(Handler.java:102)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.os.Looper.loop(Looper.java:157)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.main(ActivityThread.java:5356)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at java.lang.reflect.Method.invokeNative(Native Method)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at java.lang.reflect.Method.invoke(Method.java:515)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at dalvik.system.NativeStart.main(Native Method)
05-02 09:05:51.580: E/AndroidRuntime(32031): Caused by: java.lang.NullPointerException
05-02 09:05:51.580: E/AndroidRuntime(32031):    at com.exple.v1.ViewpagerActivity.onCreate(ViewpagerActivity.java:19)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.Activity.performCreate(Activity.java:5426)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
05-02 09:05:51.580: E/AndroidRuntime(32031):    ... 11 more
正如我所解释的,我应该得到一个viewpager,它应该显示我5 viewpages(如果您想知道为什么只有5个,请参阅适配器)


我做错了什么

viewPageActivity
中,您在没有
ViewPager
的情况下使用了不正确的布局,因此,寻呼机为空,您会收到
NullPointerException

viewPageActivity
onCreate
方法更改为:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.viewpagers);

    pager = (ViewPager)findViewById(R.id.viewpager);
    adapter = new ViewpagerAdapter(getSupportFragmentManager());
    pager.setAdapter(adapter);

}

显示活动的布局?您的
activity\u main
布局是否包含
viewpager
?activity\u main不包含viewpager,只包含listview
05-02 09:05:51.580: E/AndroidRuntime(32031): FATAL EXCEPTION: main
05-02 09:05:51.580: E/AndroidRuntime(32031): Process: com.exple.v1, PID: 32031
05-02 09:05:51.580: E/AndroidRuntime(32031): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.exple.v1/com.exple.v1.ViewpagerActivity}: java.lang.NullPointerException
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.access$900(ActivityThread.java:161)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.os.Handler.dispatchMessage(Handler.java:102)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.os.Looper.loop(Looper.java:157)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.main(ActivityThread.java:5356)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at java.lang.reflect.Method.invokeNative(Native Method)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at java.lang.reflect.Method.invoke(Method.java:515)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at dalvik.system.NativeStart.main(Native Method)
05-02 09:05:51.580: E/AndroidRuntime(32031): Caused by: java.lang.NullPointerException
05-02 09:05:51.580: E/AndroidRuntime(32031):    at com.exple.v1.ViewpagerActivity.onCreate(ViewpagerActivity.java:19)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.Activity.performCreate(Activity.java:5426)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
05-02 09:05:51.580: E/AndroidRuntime(32031):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
05-02 09:05:51.580: E/AndroidRuntime(32031):    ... 11 more
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.viewpagers);

    pager = (ViewPager)findViewById(R.id.viewpager);
    adapter = new ViewpagerAdapter(getSupportFragmentManager());
    pager.setAdapter(adapter);

}