使用 android-support-v4 替代 PreferenceFragment

2023-12-12

当我意识到这个库不支持 PreferenceFragments 时,我突然停止了应用程序的开发。新手 Android 开发人员是否可以使用任何替代方案来克服这一障碍?

这是我现在的主窗口

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="0"/>

        <FrameLayout
            android:id="@+android:id/realtabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>
    </LinearLayout>

                <TabWidget
            android:id="@android:id/tabs"
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            />

</TabHost>
</LinearLayout>

对于我的 TabActivity,我使用的是我在网上找到的东西。这是一个片段:

public class TabControlActivity extends FragmentActivity implements TabHost.OnTabChangeListener 
{
public static final int INSERT_ID = Menu.FIRST;
public static TabControlActivity thisCtx;
private TabHost mTabHost;
private HashMap mapTabInfo = new HashMap();
private TabInfo mLastTab = null;

private class TabInfo {
     private String tag;
     private Class clss;
     private Bundle args;
     private Fragment fragment;
     TabInfo(String tag, Class clazz, Bundle args) {
         this.tag = tag;
         this.clss = clazz;
         this.args = args;
     }

}

class TabFactory implements TabContentFactory 
{

    private final Context mContext;

    /**
     * @param context
     */
    public TabFactory(Context context) {
        mContext = context;
    }

    /** (non-Javadoc)
     * @see android.widget.TabHost.TabContentFactory#createTabContent(java.lang.String)
     */
    public View createTabContent(String tag) {
        View v = new View(mContext);
        v.setMinimumWidth(0);
        v.setMinimumHeight(0);
        return v;
    }

}

...*snip*...

是否有任何使用 android-support-v4 兼容性库来实现类似于preferencefragment(或preferenceActivity)的东西?


我知道这是一个老问题,但你现在可以使用PreferenceFragmentCompat from com.android.support:preference-v7:23.3.0

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 android-support-v4 替代 PreferenceFragment 的相关文章

随机推荐

  • 适用于 Android 的离线导航软件 - 有什么?

    我正在寻找适用于 Android 平台的导航软件 我有一些要求 离线地图 地图应存储在设备 存储卡上 因此不需要互联网连接 应该有某种方式 通过代码 与应用程序交互 发送路线请求 也许获取当前位置 将应用程序带到前台 后台等 API 以便可
  • 如何使用 PyOpenGL 渲染文本?

    我正在学习现代 openGL 目前我在渲染文本方面遇到了麻烦 我正在关注这个tutorial这是用 C 编写的 但我正在尝试用 python 实现 这是我的代码 from OpenGL GL import from OpenGL GLU i
  • 如何获取lxml中元素的路径?

    我正在使用 python 中的 lxml 中的 XPath 在 HTML 文档中进行搜索 如何获取某个元素的路径 这是 ruby nokogiri 的示例 page xpath text each do textnode path text
  • 使用flexbox为div设置相等的高度(取决于最短的)[重复]

    这个问题在这里已经有答案了 很明显如何使用 Flexbox 使两个 div 与最高的 div 具有相同的高度 但对我来说 不清楚如何根据最短的 div 设置相等的高度 例如 我连续有两个 div 第一个 div 高度取决于内部图像的大小 所
  • 在自定义控件上显示触摸键盘

    The 触摸键盘示例展示了一种让开发人员在用户触摸自定义控件时通知系统显示触摸键盘的方法 可能在平板电脑模式下 有人指出 在PC上 您可以通过实现TextPattern提供程序接口 ITextProvider 和ValuePattern提供
  • Java中如何设置类路径?

    我有很多 jar 文件要添加到我的类路径中 因此每次编译 java 文件时我都会得到如下命令 javac cp commons digester 2 1 commons digester 2 1 jar lucene core 3 0 3
  • 在 Bash 命令提示符下添加 git 分支

    我尝试在 bash 提示符上添加我当前正在处理 签出 的 git 分支 但没有成功 同时保留显示活动目录 文件的当前路径完好无损的 我家里有一个 bashrc 文件 但我也看到很多人提到 profile 文件 git 1 9 3 或更高版本
  • 将字符串转换为整数/浮点/双精度

    我正在尝试将字符串转换为Integer Float Double但我有一个NumberFormatException 我的字符串是37 78584 现在我将其转换为我得到的任何一个NumberFormatException 我怎样才能转换这
  • Internet Explorer 11 中对 ES6 的支持

    根据这个页面http kangax github io compat table es6 ES6 功能未在 IE 11 中实现 IE 11 是否有有一天实现它们的计划 或者我可以忘记它吗 是否有一个页面可以解释他们对该主题的意图 我在某处读
  • C++ 受保护/公共重载

    我有一堂这样的课 class Foo public Foo for int i 0 i lt 10 i v push back i const vector
  • .NET MVC Action 参数类型为对象

    如果我有一个简单的控制器 路由如下 context MapRoute Default controller action new controller Base action Foo 控制器Foo的动作如下 HttpPost public
  • WinRT Metro 应用程序是否交叉兼容(x86/64 和 ARM)?

    维基百科有关 Windows 8 的条目在其声明中地铁段 that Metro 应用程序将与基于 x86 64 的系统交叉兼容 ARM 上的系统和 Windows 但没有参考文献 标有 需要引用 从技术上讲 是否可以在 ARM 上运行使用
  • android-使用VideoView显示视频时黑屏

    这是我的布局
  • 使用表数据自定义 React Antd 表头

    In my React project I need to customize antd table header as follows 我在下面添加了示例代码 I need to have Sum of the amount in the
  • 如何查看带有注释的源代码?

    我想查看包含任何注释的 R 源代码 以了解包的作者如何运行他的代码 但我不确定使用什么命令来查看它 特别是 我想查看源代码bgp R 中的函数tgp包裹 到目前为止我已经尝试过 library tgp tgp bgp tgp bgp 但这些
  • “父”文件中定义的 PHP 变量在“必需”文件中无法识别

    我正在尝试从所需文件内部访问父文件中定义的变量 如下所示 gt gt controller index require child php gt gt echo controller 不知何故 我收到一个空输出 这意味着该变量无法通过 ch
  • 获取线程起始地址

    我正在编写一个进程查看器 已完成 99 我只需要获取进程线程的起始地址 但我不知道该怎么做 谁能帮我 谢谢 您可以使用NtQueryInformationThread函数传递ThreadQuerySetWin32StartAddress的值
  • 在Django中,获取各种条件的多个Count

    我正在使用 Django 2 2 开发 Admin DashBoard 我会从一张表中计算各种条件的 对象 并将它们发送到模板 我的代码如下 model class User models Model uid models AutoFiel
  • Fabric 和 Objective C 中多个目标上缺少 DYSM 错误

    在我的应用程序中有两个目标 Target 1 MyApp com app myapp Target 2 MyAppQA com app myappQa 电子邮件 ID 用于Fabric注册是same对于两个目标 我使用创建了两个应用程序Fa
  • 使用 android-support-v4 替代 PreferenceFragment

    当我意识到这个库不支持 PreferenceFragments 时 我突然停止了应用程序的开发 新手 Android 开发人员是否可以使用任何替代方案来克服这一障碍 这是我现在的主窗口