1

조각 안에 슬라이딩 탭을 만들려고합니다. 튜토리얼을 this 링크에서 참조하십시오. 나는 ViewPager을 사용하고 있습니다. 다음은 내 코드입니다 : -ActionBar 사용 안쪽에있는 조각 클래스

public class A extends Fragment { 


    private ViewPager pager; 
    private TabsAdapter mTabsAdapter; 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) 
    { 
     super.onActivityCreated(savedInstanceState); 

    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
    } 



    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) 
    { 

     // TODO Auto-generated method stub 
     View v = LayoutInflater.from(getActivity()).inflate(R.layout.one_fragment, 
       null); 

     pager = new ViewPager(getActivity()); 
     pager.setId(R.id.pager); 
     getActivity().setContentView(pager); 

     final ActionBar bar = getActivity().getActionBar(); 
     bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

     mTabsAdapter = new TabsAdapter(getActivity(), pager); 
     mTabsAdapter.addTab(bar.newTab().setText("Mixed"), MixedFragment.class, null); 
     mTabsAdapter.addTab(bar.newTab().setText("Income"), MixedFragment.class, null); 
     mTabsAdapter.addTab(bar.newTab().setText("Expense"), MixedFragment.class, null); 


     return v; 
    } 


} 

내가 응용 프로그램을 실행할 때 그 사람이 어떻게이 문제를 해결하는 방법을 가르쳐주세요

final ActionBar bar = getActivity().getActionBar(); 
      bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

에서 널 포인터 예외를 제공합니다. Fragment (아니 FragmentActivity) 안에 슬라이딩 탭을 생성하는 샘플 코드를 제공하십시오. 미리 감사드립니다.

다음은 아래

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.hm.example" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="19" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.Holo.Light"> 
     <activity 
      android:name="com.hm.example.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

내 로그 캣이 표시되어 무엇을 내 매니페스트 파일입니다

FATAL EXCEPTION: main 
java.lang.NullPointerException 
at com.hm.A.onCreateView(A.java:49) 
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086) 
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1884) 
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1514) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467) 
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440) 
at android.os.Handler.handleCallback(Handler.java:605) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4424) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) 
at dalvik.system.NativeStart.main(Native Method) 
+0

이 있나요? – Raghunandan

+0

매니 페스트 파일을 게시하십시오 – Raghunandan

+0

@Raghunandan : 가치에서 그것은 Theme.Light.NoTitleBar 값은 V-11 테마입니다 .Hole.Light 값은 v-14 테마입니다 .DeviceDefault.Light.NoActionBar.Fullscreen – user3458918

답변

3

getActionBar() null을 반환 할 수 있습니다.

공공 액션 바 getActionBar()

추가 된 API의 수준 (11)는이 활동의 ​​ 액션 바에 대한 참조를 검색합니다.

반환 값 활동의 ActionBar 또는이없는 경우 null입니다.

활동에 대해 액션 바가 아닌 테마를 사용 중일 수 있습니다.

는 액션 바 테마 테마 활동을 위해 설정되어 무엇

android:theme="@android:style/Theme.Holo.Light" 
+0

헤이 작동하지 않습니다. . 여전히 null과 동일한 오류가 발생합니다. . – user3458918

+0

@ user3458918 이봐, 네가 제대로하고 있지 않다. 그것이 작동하지 않는 이유입니다. 당신은 붙여 넣기'android : theme = "@ android : style/Theme.Holo.Light"를 복사하여 활동에 대한 매니페스트에 넣은 다음 확인합니까 ?? – Raghunandan

+0

예 했어요. 내 질문을 편집하고 제안 된대로 매니페스트 파일을 삽입했습니다. – user3458918

관련 문제