带有支持库的 PreferenceFragment
PreferenceFragment with support library
我正在开发一个应用程序,我一直在使用支持库片段,我偶然发现了这个问题,我似乎无法使用这个库添加 PreferencesFragment
(用于设置) ?
我发现了一些使用 v7 PreferenceFragmentCompat
的建议,但由于某些原因,我似乎无法将 v7
支持库添加到我的构建路径中,因此我无法找到PreferenceFragmentCompat
...
我尝试重写代码以使用常规片段而不是支持库中的片段,但我也遇到了一些问题
如果您想知道,我正在使用支持库进行开发,因为在阅读有关 android 编程的 The Big Nerd Ranch 书籍时,他们在早期的某个地方建议始终对片段使用支持库。
关于解决方法的任何建议,还是我应该尝试切换到不支持的版本?
这是我的 build.gradle 的依赖项:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}
appcompat v7 库实际上使用了 v4 支持库,因此您需要显式导入所需的 v7 支持库组件。
在您的情况下,您只需将 compile 'com.android.support:preference-v7:23.1.1'
添加到 build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:preference-v7:23.1.1'
}
那么这将起作用:
import android.os.Bundle;
import android.support.v7.preference.PreferenceFragmentCompat;
import android.view.View;
public class MyPreferenceFragment extends PreferenceFragmentCompat {
public MyPreferenceFragment() {
// Required empty public constructor
}
@Override
public void onCreatePreferences(Bundle bundle, String s) {
addPreferencesFromResource(R.xml.fragment_settings_pref);
}
}
支持库首选项片段的 gradle 依赖项是:
implementation 'com.android.support:preference-v14:28.0.0'
如果您使用的是 androidx,请使用;
implementation "androidx.legacy:legacy-preference-v14:1.0.0"
implementation "androidx.preference:preference:1.1.1"
我正在开发一个应用程序,我一直在使用支持库片段,我偶然发现了这个问题,我似乎无法使用这个库添加 PreferencesFragment
(用于设置) ?
我发现了一些使用 v7 PreferenceFragmentCompat
的建议,但由于某些原因,我似乎无法将 v7
支持库添加到我的构建路径中,因此我无法找到PreferenceFragmentCompat
...
我尝试重写代码以使用常规片段而不是支持库中的片段,但我也遇到了一些问题
如果您想知道,我正在使用支持库进行开发,因为在阅读有关 android 编程的 The Big Nerd Ranch 书籍时,他们在早期的某个地方建议始终对片段使用支持库。
关于解决方法的任何建议,还是我应该尝试切换到不支持的版本?
这是我的 build.gradle 的依赖项:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}
appcompat v7 库实际上使用了 v4 支持库,因此您需要显式导入所需的 v7 支持库组件。
在您的情况下,您只需将 compile 'com.android.support:preference-v7:23.1.1'
添加到 build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:preference-v7:23.1.1'
}
那么这将起作用:
import android.os.Bundle;
import android.support.v7.preference.PreferenceFragmentCompat;
import android.view.View;
public class MyPreferenceFragment extends PreferenceFragmentCompat {
public MyPreferenceFragment() {
// Required empty public constructor
}
@Override
public void onCreatePreferences(Bundle bundle, String s) {
addPreferencesFromResource(R.xml.fragment_settings_pref);
}
}
支持库首选项片段的 gradle 依赖项是:
implementation 'com.android.support:preference-v14:28.0.0'
如果您使用的是 androidx,请使用;
implementation "androidx.legacy:legacy-preference-v14:1.0.0"
implementation "androidx.preference:preference:1.1.1"