web-dev-qa-db-ja.com

ListViewを使用してAndroidで設定画面を作成しますか?

最初のAndroidアプリケーションを開発しています。設定画面を作成したいと思います。

ネイティブの電話設定画面やネイティブの「アラームの作成/編集」画面と同様のルックアンドフィールを画面に持たせたい。したがって、さまざまな種類の(静的に定義された)アイテムが細い線で垂直に積み重ねられます。

このような画面を定義するにはどうすればよいですか?

ListViewを使用できることは理解していますが、これは主に、各アイテムが同じ形式で提供されるListAdapterを使用して動的データを提供することを目的としているようです。私自身のListAdapterを作成し、getViewをオーバーライドすることで、異なるアイテム(つまり、チェックボックス付き、2つのテキスト行、アイコン付き)を作成することができるようですが、これはやり過ぎのようです。この目的でListViewを使用する必要がありますか?

61
Tomas

ListViewを手動で作成およびフォーマットする必要はありません-APIに設定画面を作成する方法があります。

最も明白なのは PreferenceActivity です。

レイアウトのようなXMLファイルですべての設定を定義し、 addPreferencesFromResource() で読み込むか、いくつかの PreferenceScreen オブジェクトをコードに追加し、 Preference オブジェクトをそのように入力します。

最良の方法は、Android API。これには設定の管理の多くの良い例が含まれています。ここに 設定を作成する方法があります。コード から、ここ の設定XMLファイルのサンプル 。設定の依存関係や設定リスナーなどのより高度なものを示す他の例があります。

121
Dave Webb

実際には、組み込みのアラームアプリケーションで、editおよびcreateアラーム用、createeditの2つのアクティビティがあります。

Create Alarmアクティビティは、デジタル時計の最初のアクティビティです。 アラームの編集アクティビティは、アラームの作成アクティビティ。

Edit AlarmPreferenceActivityを実装しますが、Create Alarmはより複雑です(アラームを一覧表示するカスタムカーソルアダプター)。

sources を見てください:

2
tbruyelle