2

カスタム PreferenceActivity はリストを定義する必要がありますか?

カスタム PreferenceActivity に関連付けられたコンテンツの一部としてリストを定義しないと、次の RuntimeException が発生します。

コンテンツには、id 属性が「android.R.id.list」である ListView が必要です。

2 つのリストを表示するカスタム PreferenceActivity を作成しようとしています。

  1. 他のリストに選択を追加する 1 つのリスト
  2. ユーザーが項目を上下に移動したり、項目を削除したりできる 1 つのリスト (おそらくコンテキスト メニューを使用)

これを行う「好ましい」方法は何ですか?

ありがとう、wTs

4

3 に答える 3

1

問題は、おそらくxmlファイルからロードされて使用された設定を使用することです

setContentView(layoutId); ..。

使用:addPreferencesFromResource(layoutId); 代わりは。

また、「Peter Knego」で説明されている手順をスキップして、リストビューを追加せずに設定を直接使用できます。

于 2011-02-01T15:12:57.150 に答える
1

PreferenceActivityはListActivityを拡張するので、Listが必要だと思います。

私が物事を理解していないとき、私の好ましい方法はSource®を使用することです:PreferenceActivity

編集:

私はこのアプローチを取ります:

  1. PreferenceActivityを新しいクラスにコピーします。

  2. アクティビティの独自のレイアウトを作成します(ListActivityドキュメントを参照してください)。2番目のListViewを追加します。

  3. すべてが元のPreferenceActivityとして機能することを確認してください。

  4. 2番目のListViewのコードの追加を開始します。

于 2010-11-15T15:36:50.230 に答える
0

PreferenceScreen use forステートメントに設定を追加して、複数回追加できます

public void onCreate(Bundle savedInstanceState) {

     addPreferencesFromResource(R.xml.preferences);
     PreferenceScreen preference;
     preferenceScreen = getPreferenceScreen();
     PreferenceScreen new_preference = new Preference(this);
     new_preference.setKey("unique_key");
     new_preference.setTitle("new_title");
     preferenceSreen.addPreference(new_preference);
}
于 2012-12-28T21:42:27.983 に答える