Starting custom PreferenceActivity INSIDE another

2019-07-15 15:32发布

Inside my Configuration activity i need to create a preference screen with a fixed View at the top showing a preview of content configured in the page. I don't want to change the main preference screen (i have already a separate activity for that) i want a different layout for a "nested" preferencescreen.

What i've tried is specifying an Intent inside the preference screen however when i click on this options nothing happens and activity goes into timeout... Activity is correctly configured on the manifest (and extends ConfigureActivity as the main one does).

  <PreferenceScreen 
    android:key="inner"
    android:title="Title" 
    android:summary="Summary"
    >
    <intent 
      android:action="android.appwidget.action.APPWIDGET_CONFIGURE" 
      android:targetPackage="my.package.lib" 
      android:targetClass="my.package.lib.ConfigureClass" 
      />
  </PreferenceScreen>

Another idea could be creating a custom "preference" that launches another configuration activity, could this work? Would be correct/acceptable to have multiple configuration activities?

1条回答
家丑人穷心不美
2楼-- · 2019-07-15 15:55

The following code on the main ConfigureActivity works however i don't know if its a clean way to do what i want. Could someone confirm?

PreferenceScreen b = (PreferenceScreen) findPreference("my_empty_preference_screen");       
b.setOnPreferenceClickListener(new OnPreferenceClickListener() {
    @Override
    public boolean onPreferenceClick(Preference preference) {
        Intent intent = new Intent(ConfigureActivity.this, ConfigureActivity.class); 
        intent.setAction("android.appwidget.action.APPWIDGET_CONFIGURE");
        ConfigureActivity.this.startActivity(intent);
        return false;
    }
});
查看更多
登录 后发表回答