私はAndroidを初めて使用します。グラフィックレイアウトでボタン/ビューを追加すると、この方法でラベルテキストが追加されます-android:text="Button"。「android:text = "@ string / my_label」を追加し、string.xmlファイルに文字列リソースを追加しないのはなぜですか。Eclipseで自動的に実行できないのですか?
6 に答える
私はたくさん検索しましたが、リソースファイルに文字列を追加する自動化された方法はありませんが、これにより時間を大幅に節約できます。
文字列を選択し、[リファクタリング] --> [Android] --> [Android 文字列の抽出] をクリックします。
Brent Hronikに感謝します。Windows の CTRL-1 は問題なく動作します。
@string リソースを使用する必要がないためです。@strings リソースの目的は、コードに関する要素を簡単に変更できるようにすることです。たとえば、複数の場所でアプリケーションのタイトルを使用している場合、たとえばすべてのダイアログ ボックスでタイトルを変更すると、アプリのタイトルが表示されているすべてのインスタンスでタイトルを変更する必要があります。したがって、この例では、@string/App_Title を「My Program」に設定すると、すべてのダイアログ ボックスがそれを参照できます。タイトルを「Hello World」に変更すると、これらすべてが変更されます。@strings リソースは、Eclipse が試行する間、すべての文字列に使用する必要はありません。これを使用しないことは、値をハードコーディングすることと同じです。すべてに @string を使用する理由と反対する理由はたくさんあります。
コントロールが追加されたときに文字列をリソース ファイルに自動的に追加する設定が Eclipse にあるかどうかはわかりません。
(編集:他のユーザーに基づいて、CTRL + 1がこれを行うためのショートカットです。)
コマンドと 1 (Mac では、Windows または Linux ボックスではコントロール 1 であると仮定します) を同時にクリックすることで、strings.xml に文字列を追加できます。これにより、リソースが strings.xml に追加され、エディターで開かれます。
投票できず、回答にコメントすることもできません (私は新しいユーザーであるため、評判がありません)
しかし、私は確認します:
1) hard type the string in your code like
mydlg.setTitle("hello guys");
2) select your string (e.g : "hello guys")
3) press Alt + Shift + A then press S
ダイアログが表示され、新しい文字列をリソースに追加できます。すべてがそのダイアログ ボックスにすでに入力されているはずです。