相关疑难解决方法(0)

在android嵌套的PreferenceScreen上显示/返回按钮?

我有一个两级PreferenceScreen:

<PreferenceScreen>
general settings
   <PreferenceScreen android:key="adv_settings">
   more advanced settings
   </PreferenceScreen>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

我的问题是第二个屏幕没有自动显示操作栏上的后退/上移按钮.如何在adv_settings上显示向上按钮?

java android android-actionbar

13
推荐指数
2
解决办法
1万
查看次数

在子屏幕首选项中的actionBar中显示向上按钮

我已经实现了我的偏好,如官方指南中所示.

我有一个PreferenceActivity,可以像这样创建PreferenceFragment:

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

      Bundle extras = getIntent().getExtras();
      if (extras != null) 
      {
          Bundle bundle = new Bundle();
          _widgetID = extras.getInt(GlobalSettings.EXTRA_WIDGET_ID); 
          bundle.putInt(GlobalSettings.EXTRA_WIDGET_ID, _widgetID);

          WidgetSettingsFragment fragment = new WidgetSettingsFragment();
          fragment.setArguments(bundle);

          getFragmentManager().beginTransaction().replace(android.R.id.content,
                        fragment).commit();
      }

 }
Run Code Online (Sandbox Code Playgroud)

PreferenceFragment从资源加载首选项,它们包含一个首选项子屏幕,如下所示:

<PreferenceScreen  xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- opens a subscreen of settings -->
    <PreferenceScreen
        android:key="button_voicemail_category_key"
        android:title="@string/voicemail"
        android:persistent="false">
        <ListPreference
            android:key="button_voicemail_provider_key"
            android:title="@string/voicemail_provider" ... />
        <!-- opens another nested subscreen -->
        <PreferenceScreen
            android:key="button_voicemail_setting_key"
            android:title="@string/voicemail_settings"
            android:persistent="false">
            ...
        </PreferenceScreen>
        <RingtonePreference
            android:key="button_voicemail_ringtone_key"
            android:title="@string/voicemail_ringtone_title"
            android:ringtoneType="notification" ... />
        ...
    </PreferenceScreen>
    ...
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

到目前为止这种方法效果很好,但现在我想 …

settings android preferences preferenceactivity preferencefragment

12
推荐指数
1
解决办法
7610
查看次数

向上指示器未显示

我目前正在尝试在我的Android应用中启用导航功能.为此,我按照教程并在我的活动中实现了必要的代码:

SettingsActivity.java

package de.ntraum.arcon;

import android.content.Intent;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.view.MenuItem;

public class SettingsActivity extends PreferenceActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getActionBar().setHomeButtonEnabled(true);
        addPreferencesFromResource(R.xml.settings);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            startActivity(new Intent(SettingsActivity.this, MainActivity.class)
                    .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
            return true;

        default:
            return super.onOptionsItemSelected(item);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

如果相关,这是AndroidManifest.xmlstyles.xml:

AndroidManifest.xml中

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.ntraum.arcon"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Light" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action …
Run Code Online (Sandbox Code Playgroud)

android

3
推荐指数
1
解决办法
2240
查看次数