まず第一に、申し訳ありませんが、この投稿を作成しました。このような他の人がいることを知っていて、それらを使用しようとしましたが、動作させることができません。
私は第3版の「Hello、Android」という本を使用していますが、このaddPreferencesFromResources()
方法の廃止に遭遇しました。それで修正しようとしましたが、どういうわけか正しく動作させることができません。ここで使用されていると思われるクラスがいくつかあります。
設定Javaクラス
package com.example.sudoku;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class Prefs extends PreferenceActivity
{
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
}
}
public static class MyPreferenceFragment extends PreferenceFragment
{
@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
}
}
これは他の投稿の1つからコピーされたものですが、私が言ったように、それを機能させることができず、理由がわかりません。
さらに、settings.xmlファイルがあります。
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
android:key="music"
android:title="@string/music_title"
android:summary="@string/music_summary"
android:defaultValue="true" />
<CheckBoxPreference
android:key="hints"
android:title="@string/hints_title"
android:summary="@string/hints_summary"
android:defaultValue="true" />
</PreferenceScreen>
また、Prefs.classを使用したアクティビティを呼び出す数独Javaクラスの一部:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.settings:
startActivity(new Intent(this, Prefs.class));
return true;
// More items go here (if any) ...
}
return false;
}