Rai*_*Man 5 java android android-preferences android-activity
我正在按照此文档创建一个设置页面。我根据文档创建了两个java类:
设置Fragment.java:
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
}
...
}
Run Code Online (Sandbox Code Playgroud)
设置活动.java
public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Display the fragment as the main content.
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
在首选项中,我有一个带有键的项目premium_support,我想为其创建一个点击侦听器。
<CheckBoxPreference
android:key="@string/premium_support"
android:title="Premium Support"
android:summary="Purchase premium support"
android:defaultValue="false" />
Run Code Online (Sandbox Code Playgroud)
我无法在片段中创建点击侦听器,因为我在 SettingsActivity 中有应用内计费代码。我尝试了这个答案,但似乎findPreference仅适用于首选项片段。
知道如何在 SettingsActivity 中实现点击监听器吗?
在onCreate()方法中SettingsActivity:
Preference preference = findPreference("prefs_key");
preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Toast.makeText(SettingsActivity.this, "Clicked", Toast.LENGTH_SHORT).show();
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4949 次 |
| 最近记录: |