[解決済み】文字列配列リソース内の文字列をxmlで参照する。
質問
メニューに表示される項目を有効/無効にできる環境設定があります。 17の項目があります。 values/arrays.xmlに、この17の項目それぞれのタイトルを文字列配列で作成しました。
preferences.xmlには、設定ファイルのレイアウトが書かれていますが、文字列配列から1つの項目を参照して、タイトルとして使用したいと思います。
どうすればよいのでしょうか?
Android developer reference を見ると、XML で単一の文字列を参照する方法はありますが、XML で配列リソースから文字列を参照する方法はないようです。
どのように解決するのですか?
要するに 無理だと思いますが、回避策はあるようです。 .
こちらのAndroid Resourceを覗いてみると。
http://developer.android.com/guide/topics/resources/string-resource.html
配列セクション(少なくとも文字列配列)の下にある "RESOURCE REFERENCE" (as you get from an XML) は、個々の項目を扱う方法を指定していないことがお分かりいただけるでしょう。XMLで "@array/yourarrayhere"を使用してみることもできます。デザインタイムでは、最初のアイテムが取得できることは知っています。しかし、それは、例えば...2番目のアイテムを使いたい場合、もちろん実用的ではありません。
しかし、こんな裏技もあります。こちらをご覧ください。
配列の定義の内側で独立した文字列を指定することで、配列の定義をごまかすことができます (実際はそうではありません)。例えば、strings.xmlの中で。
<string name="earth">Earth</string>
<string name="moon">Moon</string>
<string-array name="system">
<item>@string/earth</item>
<item>@string/moon</item>
</string-array>
これを使うことで、"@string/earth" と "@string/moon" を普通に "android:text" と "android:title" XML フィールドで使用でき、かつ、最初に意図した目的のために配列定義を使用できることを失わないようにします。
私のEclipseでは、ここで動作するようです。試してみて、うまくいくかどうか教えてください。)
関連
-
[解決済み】「ArrayAdapterはリソースIDがTextViewであることが必要」XMLの問題点
-
[解決済み】ビットマップを保存する場所について
-
[解決済み】googleコンソールエラー`OR-IEH-01`について
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android - SDKバージョン23のアップデート後、ACTION-VIEWインテントフィルタを持つアクティビティを少なくとも1つ追加する。
-
[解決済み】react-native: コマンドが見つかりません。
-
[解決済み] ユーザーが拒否する可能性のあるパーミッションが必要なコール
-
[解決済み】Android Studioです。「プロジェクトが C ドライブに作成されている場合、「タスク ':app:mergeDebugResources' の実行に失敗しました。
-
[解決済み】Android Studioでマニフェストのマージに失敗し、複数のエラーが発生した。
-
[解決済み】Android Studioで最新バージョンのgradleを使用する方法
-
[解決済み] Xlint:deprecationを使用して再コンパイルする方法
-
[解決済み] com.android.supportのライブラリは全て全く同じバージョン表記である必要があります。
-
[解決済み] AndroidでBluetoothが有効かどうかのチェックに失敗する(REQUEST_ENABLE_BTを変数に解決できない)。
-
[解決済み] Android Fragment onAttach() 非推奨