类android.preference.PreferenceActivity源码实例Demo

下面列出了怎么用android.preference.PreferenceActivity的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: green_android   文件: SettingsActivity.java
@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(android.R.color.transparent));
    final String preference;
    try {
        preference = getIntent().getStringExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT);
    } catch (final Exception e) {
        e.printStackTrace();
        return;
    }

    if (preference.equals(SPVPreferenceFragment.class.getName()))
        fragment = new SPVPreferenceFragment();
    else if (preference.equals(PinPreferenceFragment.class.getName()))
        fragment = new PinPreferenceFragment();
    else
        fragment = new GeneralPreferenceFragment();
    getSupportFragmentManager().beginTransaction().add(android.R.id.content, fragment).commit();
}
 
源代码2 项目: slide-android   文件: SettingsElements.java
public SettingsElements(final PreferenceActivity activity, boolean firstRun)
{
    this.activity = activity;
    setPrefs();

    if (firstRun)
    {
        loadFactoryDefaults();
    } else
    {
        loadSavedDefaults();
    }

    setPrefValues();
    setPrefListeners();
}
 
源代码3 项目: AcDisplay   文件: BlacklistActivity.java
@Override
public void setListAdapter(ListAdapter adapter) {
    if (adapter == null) {
        super.setListAdapter(null);
    } else {
        List<Header> headers = null;
        try {
            Method method = PreferenceActivity.class.getDeclaredMethod("getHeaders");
            method.setAccessible(true);
            headers = (List<Header>) method.invoke(this);
        } catch (Exception e) {
            e.printStackTrace();
        }

        super.setListAdapter(new HeaderAdapter(this, headers));
    }
}
 
/** Taps the specified preference displayed by the provided Activity. */
@FixWhenMinSdkVersion(11)
@SuppressWarnings("deprecation")
public static void tapPreference(PreferenceActivity activity, Preference preference) {
  // IMPLEMENTATION NOTE: There's no obvious way to find out which View corresponds to the
  // preference because the Preference list in the adapter is flattened, whereas the View
  // hierarchy in the ListView is not.
  // Thus, we go for the Reflection-based invocation of Preference.performClick() which is as
  // close to the invocation stack of a normal tap as it gets.

  // Only perform the click if the preference is in the adapter to catch cases where the
  // preference is not part of the PreferenceActivity for some reason.
  ListView listView = activity.getListView();
  ListAdapter listAdapter = listView.getAdapter();
  for (int i = 0, len = listAdapter.getCount(); i < len; i++) {
    if (listAdapter.getItem(i) == preference) {
      invokePreferencePerformClickOnMainThread(preference, activity.getPreferenceScreen());
      return;
    }
  }
  throw new IllegalArgumentException("Preference " + preference + " not in list");
}
 
源代码5 项目: HeadsUp   文件: BlacklistActivity.java
@Override
public void setListAdapter(ListAdapter adapter) {
    if (adapter == null) {
        super.setListAdapter(null);
    } else {
        List<Header> headers = null;
        try {
            Method method = PreferenceActivity.class.getDeclaredMethod("getHeaders");
            method.setAccessible(true);
            headers = (List<Header>) method.invoke(this);
        } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
            e.printStackTrace();
        }

        super.setListAdapter(new HeaderAdapter(this, headers));
    }
}
 
源代码6 项目: AppOpsXposed   文件: Util.java
public static Intent createAppOpsIntent(String packageName)
{
	final Intent intent = new Intent();
	intent.setClassName(AppOpsActivity.class.getPackage().getName(),
			AppOpsActivity.class.getName());
	intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
			| Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION);

	if(packageName != null)
	{
		final Bundle args = new Bundle();
		args.putString(AppOpsDetails.ARG_PACKAGE_NAME, packageName);
		intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
		intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, AppOpsDetails.class.getName());
	}

	return intent;
}
 
源代码7 项目: openboard   文件: UserDictionaryAddWordFragment.java
@Override
public void onItemSelected(final AdapterView<?> parent, final View view, final int pos,
        final long id) {
    final LocaleRenderer locale = (LocaleRenderer)parent.getItemAtPosition(pos);
    if (locale.isMoreLanguages()) {
        PreferenceActivity preferenceActivity = (PreferenceActivity)getActivity();
        preferenceActivity.startPreferenceFragment(new UserDictionaryLocalePicker(), true);
    } else {
        mContents.updateLocale(locale.getLocaleString());
    }
}
 
源代码8 项目: MHViewer   文件: PrettyPreferenceActivity.java
@Override
public void setListAdapter(ListAdapter adapter) {
  if (adapter == null) {
    super.setListAdapter(null);
    return;
  }

  int count = adapter.getCount();
  List<PreferenceActivity.Header> headers = new ArrayList<>(count);
  for (int i = 0; i < count; ++i) {
    headers.add((PreferenceActivity.Header) adapter.getItem(i));
  }

  super.setListAdapter(new HeaderAdapter(this, headers, R.layout.item_preference_header, true));
}
 
源代码9 项目: MHViewer   文件: PrettyPreferenceActivity.java
private HeaderAdapter(Context context, List<PreferenceActivity.Header> objects, int layoutResId,
    boolean removeIconBehavior) {
  super(context, 0, objects);
  mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  mLayoutResId = layoutResId;
  mRemoveIconIfEmpty = removeIconBehavior;
}
 
@Override
public void onItemSelected(final AdapterView<?> parent, final View view, final int pos,
        final long id) {
    final LocaleRenderer locale = (LocaleRenderer)parent.getItemAtPosition(pos);
    if (locale.isMoreLanguages()) {
        PreferenceActivity preferenceActivity = (PreferenceActivity)getActivity();
        preferenceActivity.startPreferenceFragment(new UserDictionaryLocalePicker(), true);
    } else {
        mContents.updateLocale(locale.getLocaleString());
    }
}
 
@Test
public void dataInteractionSample() {
    openDrawer();
    onView(allOf(withId(R.id.design_menu_item_text),
            withText(R.string.settings_title))).perform(click());

    // Start of the flow as shown on Figure 1-8.
    onData(instanceOf(PreferenceActivity.Header.class))
            .inAdapterView(withId(android.R.id.list))
            .atPosition(0)
            .onChildView(withId(android.R.id.title))
            .check(matches(withText("General")))
            .perform(click());
    onData(withKey("email_edit_text"))
            /*we have to point explicitly what is the parent of of the General prefs list
            because there are two {@ListView}s with the same id - android.R.id.list in the hierarchy*/
            .inAdapterView(allOf(withId(android.R.id.list), withParent(withId(android.R.id.list_container))))
            .check(matches(isDisplayed()))
            .perform(click());
    onView(withId(android.R.id.edit)).perform(replaceText("[email protected]"));
    onView(withId(android.R.id.button1)).perform(click());

    // Verify new email is shown.
    onData(withKey("email_edit_text"))
            .inAdapterView(allOf(withId(android.R.id.list), withParent(withId(android.R.id.list_container))))
            .onChildView(withId(android.R.id.summary))
            .check(matches(withText("[email protected]")));
}
 
@Override
public void onItemSelected(final AdapterView<?> parent, final View view, final int pos,
        final long id) {
    final LocaleRenderer locale = (LocaleRenderer)parent.getItemAtPosition(pos);
    if (locale.isMoreLanguages()) {
        PreferenceActivity preferenceActivity = (PreferenceActivity)getActivity();
        preferenceActivity.startPreferenceFragment(new UserDictionaryLocalePicker(), true);
    } else {
        mContents.updateLocale(locale.getLocaleString());
    }
}
 
源代码13 项目: android-slideshow   文件: BaseActivity.java
/**
 * Handle options menu
 */
@Override
public boolean onOptionsItemSelected(MenuItem item) {
	int id = item.getItemId();

	if (id == android.R.id.home) {
		// Do the same thing as the back button.
		onBackPressed();
		return true;
	} else if (id == R.id.action_settings) {
		Intent intent = new Intent(this, SettingsActivity.class);
		intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, SettingsActivity.SlideshowPreferenceFragment.class.getName());
		intent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS, true);
		startActivity(intent);
		return true;
	} else if (id == R.id.action_credits) {
		startActivity(new Intent(this, CreditsActivity.class));
		return true;
	} else if (id == R.id.action_change_log) {
		showChangeLog(true);
		return true;
	} else if (id == R.id.action_controls) {
		new ControlsDialog().show(getSupportFragmentManager(), ControlsDialog.TAG);
		return true;
	}
	return super.onOptionsItemSelected(item);
}
 
源代码14 项目: gift-card-guard   文件: SettingsActivity.java
/**
 * {@inheritDoc}
 */
@Override
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onBuildHeaders(List<PreferenceActivity.Header> target)
{
    loadHeadersFromResource(R.xml.pref_headers, target);
}
 
源代码15 项目: hackerskeyboard   文件: LatinIME.java
protected void launchSettings(
        Class<? extends PreferenceActivity> settingsClass) {
    handleClose();
    Intent intent = new Intent();
    intent.setClass(LatinIME.this, settingsClass);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}
 
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_notifications);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    // Create the adapter that will return a fragment for each of the three
    // primary sections of the activity.
    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
    // Set up the ViewPager with the sections adapter.
    mViewPager = (ViewPager) findViewById(R.id.container);
    mViewPager.setAdapter(mSectionsPagerAdapter);

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(mViewPager);
    ImageButton imageButton = (ImageButton) toolbar.findViewById(R.id.notifications_settings_button);
    imageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(NotificationsActivity.this, SettingsActivity.class);
            intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, SettingsActivity.NotificationPreferenceFragment.class.getName());
            intent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS, true);
            startActivity(intent);
        }
    });
}
 
源代码17 项目: SuntimesWidget   文件: SuntimesActivity.java
protected void showGeneralSettings()
{
    Intent settingsIntent = new Intent(this, SuntimesSettingsActivity.class);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
    {
        settingsIntent.putExtra( PreferenceActivity.EXTRA_SHOW_FRAGMENT, SuntimesSettingsActivity.GeneralPrefsFragment.class.getName() );
        settingsIntent.putExtra( PreferenceActivity.EXTRA_NO_HEADERS, true );

    } else {
        settingsIntent.setAction(SuntimesSettingsActivity.ACTION_PREFS_GENERAL);
    }
    startActivity(settingsIntent);
    overridePendingTransition(R.anim.transition_next_in, R.anim.transition_next_out);
}
 
源代码18 项目: XInstaller   文件: Preferences.java
@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    activity = getActivity();
    context = activity.getApplicationContext();

    resources = context.getResources();
    getPreferenceManager().setSharedPreferencesMode(
            Context.MODE_WORLD_READABLE);

    // If we are on a tablet
    isLarge = ((PreferenceActivity) activity).onIsMultiPane();

    ActionBar ab = activity.getActionBar();
    if (ab != null) {
        if (!isLarge) {
            ab.setDisplayHomeAsUpEnabled(true);
        }
        else
            ab.setTitle(R.string.app_name);
    }
    String whichSettings = getArguments().getString("settings");
    int prefsType = getPrefsType(whichSettings);

    addPreferencesFromResource(prefsType);

    prefs = PreferenceManager.getDefaultSharedPreferences(context);

    appLocaleManager = new AppLocaleManager(context);
    appLocaleManager.initialize();

}
 
@Override
public void onItemSelected(final AdapterView<?> parent, final View view, final int pos,
        final long id) {
    final LocaleRenderer locale = (LocaleRenderer)parent.getItemAtPosition(pos);
    if (locale.isMoreLanguages()) {
        PreferenceActivity preferenceActivity = (PreferenceActivity)getActivity();
        preferenceActivity.startPreferenceFragment(new UserDictionaryLocalePicker(), true);
    } else {
        mContents.updateLocale(locale.getLocaleString());
    }
}
 
源代码20 项目: EhViewer   文件: PrettyPreferenceActivity.java
@Override
public void setListAdapter(ListAdapter adapter) {
  if (adapter == null) {
    super.setListAdapter(null);
    return;
  }

  int count = adapter.getCount();
  List<PreferenceActivity.Header> headers = new ArrayList<>(count);
  for (int i = 0; i < count; ++i) {
    headers.add((PreferenceActivity.Header) adapter.getItem(i));
  }

  super.setListAdapter(new HeaderAdapter(this, headers, R.layout.item_preference_header, true));
}
 
源代码21 项目: EhViewer   文件: PrettyPreferenceActivity.java
private HeaderAdapter(Context context, List<PreferenceActivity.Header> objects, int layoutResId,
    boolean removeIconBehavior) {
  super(context, 0, objects);
  mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  mLayoutResId = layoutResId;
  mRemoveIconIfEmpty = removeIconBehavior;
}
 
源代码22 项目: AppOpsXposed   文件: AppOpsCategory.java
private void startApplicationDetailsActivity() {
    // start new fragment to display extended information
    Bundle args = new Bundle();
    args.putString(AppOpsDetails.ARG_PACKAGE_NAME, mCurrentPkgName);

    PreferenceActivity pa = (PreferenceActivity)getActivity();
    pa.startPreferencePanel(AppOpsDetails.class.getName(), args,
            R.string.app_ops_settings, null, this, RESULT_APP_DETAILS);
}
 
源代码23 项目: AppOpsXposed   文件: AppListFragment.java
@Override
public void onListItemClick(ListView l, View v, int position, long id)
{
	final Bundle args = new Bundle();
	args.putString(AppOpsDetails.ARG_PACKAGE_NAME, ((ViewHolder) v.getTag()).packageName);

	final Fragment f = new AppOpsDetails();
	f.setArguments(args);

	((PreferenceActivity) getActivity()).startPreferenceFragment(f, true);
}
 
源代码24 项目: prevent   文件: DeprecatedUtils.java
@SuppressWarnings("deprecation")
public static void addPreferencesFromResource(PreferenceActivity activity, int preferencesResId) {
    activity.addPreferencesFromResource(preferencesResId);
}
 
源代码25 项目: prevent   文件: DeprecatedUtils.java
@SuppressWarnings("deprecation")
public static Preference findPreference(PreferenceActivity activity, CharSequence key) {
    return activity.findPreference(key);
}
 
源代码26 项目: Simple-Search   文件: Settings.java
@Override
public void onBuildHeaders(List<PreferenceActivity.Header> target) {
    loadHeadersFromResource(R.xml.pref_headers, target);
}
 
源代码27 项目: gito-github-client   文件: SettingsActivity.java
/**
 * {@inheritDoc}
 */
@Override
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onBuildHeaders(List<PreferenceActivity.Header> target) {
    loadHeadersFromResource(R.xml.pref_headers, target);
}
 
源代码28 项目: BigApp_Discuz_Android   文件: ViewFinder.java
public ViewFinder(PreferenceActivity preferenceActivity) {
    this.preferenceActivity = preferenceActivity;
    this.activity = preferenceActivity;
}
 
源代码29 项目: BigApp_Discuz_Android   文件: ViewUtils.java
public static void inject(PreferenceActivity preferenceActivity) {
    injectObject(preferenceActivity, new ViewFinder(preferenceActivity));
}
 
源代码30 项目: BigApp_Discuz_Android   文件: ViewUtils.java
public static void inject(Object handler, PreferenceActivity preferenceActivity) {
    injectObject(handler, new ViewFinder(preferenceActivity));
}