2016-05-18 4 views
0

preferenceFragmentを使いたいです。私はタブ付きのアクティビティを持っていて、1つのフラグメントでタブ付きのアクティビティですべてのプリファレンスを表示したい。このフラグメントはv4のサポートフラグメント、つまりandroid.support.v4.app.Fragmentです。PreferenceFragmentをタブのフラグメントとして設定するにはどうすればよいですか?

ここでpreferenceFragmentを設定するにはどうすればよいですか?

私はこの方法で試してみました:

public class PreferencesFrag extends PreferenceFragment { 



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

     addPreferencesFromResource(R.xml.preferences); 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 

     return inflater.inflate(R.layout.fragment_preferences, container, false); 
    } 

} 

をしかし、私はフラグメントを呼び出すしようとすると、これは、ページャのアダプターでエラーを示しています

アダプタ:

public class SectionsPagerAdapter extends FragmentPagerAdapter { 

    CharSequence Titles[]; 
    int NumbOfTabs; 

    public SectionsPagerAdapter(FragmentManager fm, CharSequence mTitles[], int mNumbOfTabsumb) { 
     super(fm); 
     this.Titles = mTitles; 
     this.NumbOfTabs = mNumbOfTabsumb; 
    } 

    @Override 
    public Fragment getItem(int index) { 

     switch (index) { 
      case 0: 
       return new BasicInformationFragment(); 
      case 1: 
       return new PersonalDetailsFragment(); 
      case 2: 
       return new PreferencesFrag(); 
      case 3: 
       return new InviteFriendsFagment(); 
     } 
     return null; 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return Titles[position]; 
    } 

    @Override 
    public int getCount() { 
     return NumbOfTabs; 
    } 
} 

はEDIT:

私はこの方法で断片を置き換えようとしましたが、それがタブを置き換えずに先に進むわけではありません。

 PreferencesFrag fragment2 = new PreferencesFrag(); 
    FragmentManager fragmentManager = getFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    fragmentTransaction.replace(R.id.fragment1, fragment2); 
    fragmentTransaction.commit(); 

間違った第2のタイプの引数が必要であるというエラーを示します。v4.app.fragement found fragments.PreferenceFragment。

嗜好フラグに関するエラーを表示します。 どうすればいいですか? は

+0

それがどのようなエラーを示していて、それを置き換えるTabAdapternestedFragment負荷ダミーfragmentを使用して、そのフラグメントで..あなたに感謝しますか? – Egor

+0

エラーログも投稿してください –

+0

エラーの互換性のあるタイプが表示されます。必要なv4.app.fragment found framents.PreferencesFragment。 –

答えて

0

PreferenceFragmentアンドロイド

+0

コードで教えてもらえますか? @ankit agrawal –

+0

フラグメントから優先フラグメントを置き換える方法? @ankit agrawal –

+0

getsupportfragmentmanager.begintransaction.replace(r.id.container、あなたのフラグメント).commit(); –

関連する問題