- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我又搜索了几个小时,但没有找到我理解/正在寻找的答案。
我有一个首选项屏幕,当用户单击菜单中的设置时它会打开。这行得通。但是,当用户完成设置时,我如何最好地让他关闭此屏幕。
我喜欢 Chrome 中的操作方式,您可以在其中返回到上一屏幕。
其他可能性也很受欢迎。
Activity,降低偏好(它应该返回):
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void startGame(View view)
{
Intent intent = new Intent(this, Game.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.game_settings, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.action_settings:
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
首选项:
public class SettingsFragment extends PreferenceFragment
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.preferences);
}
}
XML:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="@string/game_settings">
<ListPreference
android:title="@string/circle_setting_title"
android:key="circle_setting"
android:summary="@string/circle_setting_summary"
android:entries="@array/circle_setting_amount"
android:entryValues="@array/circle_setting_amount_value"
android:defaultValue="3"/>
<ListPreference
android:title="@string/color_setting_title"
android:key="color_setting"
android:summary="@string/color_setting_summary"
android:entries="@array/color_setting_amount"
android:entryValues="@array/color_setting_amount_value"
android:defaultValue="3"/>
</PreferenceCategory>
</PreferenceScreen>
最佳答案
接受的答案不正确。通过执行:startActivity(new Intent(this, PrefsActivity.class));
,您实际上向堆栈添加了一个新 Activity 。
如果你想返回一个屏幕,你应该使用 onBackPressed 方法。
代码示例如下:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
getActivity().onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
上述解决方案会将操作栏上的主页按钮设置为与返回按钮 react 相同。这两个按钮都将返回到 Activity 堆栈中的 SettingsActivity(之前的一个 Activity )。
关于android - 关闭 PreferenceFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21062476/
PreferenceFragment 首选项直到我加载首选项 fragment 后才添加到我的 SharedPreference 映射中。 这是 PreferenceFragment 的预期行为吗?
背景 在以前版本的支持库中,我们可以使用标题来获得设置的主菜单屏幕,每个屏幕都会打开一个新的设置屏幕( fragment )。 问题 现在 header 消失了(如写的 here )一段时间,我认为它
我有一个 PreferenceFragment,我需要在其中添加自定义首选项。现在问题不在于自定义首选项本身,我已经扩展了一些 DialogPreference 创建我自己的首选项,并且我已经处理了保
我需要创建一个settings screen ,其中只有前半部分包含首选项。 我正在考虑添加 PreferenceFragment ,但是我需要支持较旧的设备(最低支持的 API 级别为 9),并且我
我正在创建一个带有主菜单的应用程序,这些菜单项之一将打开一个 PreferenceFragment。为了在应用程序内创建统一性,我希望主菜单看起来尽可能接近 PreferenceFragment。基本
public class MyPrefs extends PreferenceActivity { public static class MyPreferenceFragment exten
在首选项 fragment 中,您可以添加一个图标以显示在首选项的左侧。然而,没有图标的首选项对齐方式很时髦。我如何添加空格以使所有首选项具有相同的对齐方式。我在下面附上了一张图片。 我试过添加 an
当我的小部件添加到主屏幕时,我使用 PreferenceFragment 对其进行配置。用户根据自己的喜好编辑首选项后,如何关闭首选项 fragment ,以便随后可以根据设置添加小部件? 我正在考虑
我想在我的 PreferenceActivity 中获得一个选择文件对话框,我该如何实现?我可以以某种方式覆盖 PreferenceActivity 的 onClick 吗?安卓 API 14。 这是
我正在尝试使用 PreferenceFragment 而不是 PreferenceActivity,因为我不喜欢在我的代码中使用“已弃用”一词。 我已经构建了我的首选项布局和 PreferenceFr
在我的应用程序中,我有偏好:“pref1”,可能的值为 0、1、2。我在 SharedPreferences 类的帮助下保存它们。 我想提供一个用户界面来改变它。我创建类 SettingFragmen
我尝试使用 PreferenceFragment 从 Activity 调用它,当我从 ActionBar 单击一个图标时,我只是调用 FragmentPreferences whit Intent:
我在 Android 中加载 PreferenceFragment 时遇到问题。在这一点上,它是一个非常基本的实现,我想稍后在它工作时对其进行扩展。 问题是导航到 SettingsFragment 后
我又搜索了几个小时,但没有找到我理解/正在寻找的答案。 我有一个首选项屏幕,当用户单击菜单中的设置时它会打开。这行得通。但是,当用户完成设置时,我如何最好地让他关闭此屏幕。 我喜欢 Chrome 中的
我正在开发一个应用程序,我一直在使用支持库 fragment ,我偶然发现了这个问题,我似乎无法使用它添加 PreferencesFragment(用于设置)图书馆? 我找到了一些使用 v7 Pref
如标题所示,我的 PreferenceFragment 与我的工具栏重叠。我已经尝试过不同的解决方案,但问题仍然存在。希望有任何帮助。这是我的代码。 Activity : import android
我有包含左右 fragment 的多 Pane View 。在右边的 fragment 上,我正在启动一个 PreferenceFragment。问题是 fragment 看起来完全扭曲,没有任何风格
我创建了一个包含两个类别和一个复选框的 PreferenceFragment,但是,当我在我的应用程序中显示它时,背景似乎是透明的。 我可以看到主要 Activity 、字段和 PreferenceF
我正在尝试实现“设置”应用的外观,这意味着我正在寻找在类别之间添加分隔线的解决方案。 所以我以为我找到了解决方案,但不幸的是它对我不起作用。正如所建议的那样,我应该在布局中添加空首选项:
我想在我的首选项屏幕底部添加几个按钮,用于设置默认值和恢复默认值。 This答案不包括如何使用 PreferenceFragment 执行此操作。推荐的方法是什么? 加载首选项 fragment 的
我是一名优秀的程序员,十分优秀!