0

フラグメント アクティビティにビューページャーを実装しました。このフラグメント アクティビティには、2 つのスワイプ フラグメントが含まれています。アクションバーでフラグメントのタイトルを設定するには、フラグメントアクティビティでこれを行いました。

    mViewPager.setOnPageChangeListener(new OnPageChangeListener() 
    {
        public void onPageSelected(int position) 
        {

        //**this is line68 where error is occuring**       
       getActionBar().setTitle(mAppSectionsPagerAdapter.getPageTitle(position).toString());

                        }

しかし、2 つのフラグメントのタイトルを設定する方法がよくわかりません。断片的に私はこれをしました。

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

        View view = inflater.inflate(R.layout.patient_list, container, false);
        getActivity().setTitle("All Patients");

Nullpointerexception が発生しました...

06-05 23:54:26.269: E/AndroidRuntime(6430): FATAL EXCEPTION: main
06-05 23:54:26.269: E/AndroidRuntime(6430): java.lang.NullPointerException
06-05 23:54:26.269: E/AndroidRuntime(6430):     at com.example.actionbar.MainActivity$1.onPageSelected(MainActivity.java:68)
06-05 23:54:26.269: E/AndroidRuntime(6430):     at android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:538)
06-05 23:54:26.269: E/AndroidRuntime(6430):     at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:523)
06-05 23:54:26.269: E/AndroidRuntime(6430):     at android.support.v4.view.ViewPager.onTouchEvent(ViewPager.java:1943)
06-05 23:54:26.269: E/AndroidRuntime(6430):     at android.view.View.dispatchTouchEvent(View.java:7340)
06-05 23:54:26.269: E/AndroidRuntime(6430):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2181)
06-05 23:54:26.269: E/AndroidRuntime(6430):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1914)
06-05 23:54:26.269: E/AndroidRuntime(6430):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2187)

助けてください。

4

2 に答える 2

1

returnだと思いますmAppSectionsPagerAdapter.getPageTitle(position)ので、viewpager のnullメソッドをオーバーライドしたかどうかを確認してください。getPageTitlePagerAdapter

于 2013-06-05T18:36:57.017 に答える
0

行 68 には、1 つ以上の可能な null 値があります。コードをデバッグし、その行の各ステートメントを評価して null をチェックする必要があります (ブレークポイントを設定し、inspect オプションで null をチェックします)。

代替オプションは、行を複数の行に分割し、コードを再度実行してエラーの行番号を確認することです。

于 2013-06-05T18:36:27.053 に答える