Skip to content
Snippets Groups Projects
Commit 150352e2 authored by Alexandre Savard's avatar Alexandre Savard
Browse files

#15273: Add setOnPageChangeListener in preference activity

parent 1bcaf53d
No related branches found
No related tags found
No related merge requests found
......@@ -37,4 +37,6 @@ as that of the covered work.
<string name="title_section3">Test</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_sflphone_home">SFLPhone</string>
<string name="preference_section1">Accounts</string>
<string name="preference_section2">Preferences</string>
</resources>
......@@ -51,7 +51,8 @@ import android.widget.TextView;
import com.savoirfairelinux.sflphone.R;
public class SFLPhonePreferenceActivity extends Activity implements ActionBar.TabListener {
public class SFLPhonePreferenceActivity extends Activity implements ActionBar.TabListener
{
static final int NUM_PAGES = 2;
static final String TAG = "SFLPhonePreferenceActivity";
PreferencesPagerAdapter mPreferencesPagerAdapter;
......@@ -74,9 +75,17 @@ public class SFLPhonePreferenceActivity extends Activity implements ActionBar.Ta
mViewPager = (ViewPager) findViewById(R.id.preferences_pager);
mViewPager.setAdapter(mPreferencesPagerAdapter);
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
actionBar.setSelectedNavigationItem(position);
}
});
for(int i = 0; i < mPreferencesPagerAdapter.getCount(); i++) {
actionBar.addTab(actionBar.newTab().setTabListener(this));
actionBar.addTab(actionBar.newTab().setText(mPreferencesPagerAdapter.getPageTitle(i)).setTabListener(this));
}
......@@ -98,21 +107,39 @@ public class SFLPhonePreferenceActivity extends Activity implements ActionBar.Ta
{
}
public static class PreferencesPagerAdapter extends FragmentStatePagerAdapter {
public class PreferencesPagerAdapter extends FragmentStatePagerAdapter {
public PreferencesPagerAdapter(FragmentManager fm) {
public PreferencesPagerAdapter(FragmentManager fm)
{
super(fm);
}
@Override
public int getCount() {
public int getCount()
{
return NUM_PAGES;
}
@Override
public Fragment getItem(int position) {
public Fragment getItem(int position)
{
return ArrayListFragment.newInstance(position);
}
@Override
public CharSequence getPageTitle(int position)
{
switch(position) {
case 0:
return getString(R.string.preference_section1).toUpperCase();
case 1:
return getString(R.string.preference_section2).toUpperCase();
default:
Log.e(TAG, "getPreferencePageTitle: unknown tab position " + position);
break;
}
return null;
}
}
public static class ArrayListFragment extends ListFragment {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment