2

チュートリアルの助けを借りて作業しているときに、textview android:text-"@ string/hello"でこれを見つけました。エラーが表示されます。

次に、グラフィカルビューを実行し、コンポーネントを右クリックしてテキストを入力します。次に、そのエラーが削除され、通知されます

**Hardcoded string hello should use String resources**
4

3 に答える 3

5

androidでは、「@ string /」は、パッケージエクスプローラーのProject> res>values> locationにあるstring.xmlを参照します。

String.xmlには、IDを持つ文字列を参照するxmlファイルが含まれています。例えば:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World</string>
    <string name="app_name">My app</string>
</resources>

ここで、name = "hello"はIDであり、"HelloWorld"はその値です。@ string / helloを使用すると、値が表示されます。

「@drawable/」の場合も同様です。使用した画像を参照します。などなど。

プログラムでテキストビューにテキストを設定できます。例えば:

TextView tv = (TextView)findViewById(R.id.text1);     //text1 is the id u provide in xml file
tv.setText("Hello World");

お役に立てば幸いです。

于 2012-04-23T11:00:56.567 に答える
1

@string/helloAndroidが/valuesディレクトリ(strings.xml)にあるXMLファイルに文字列をロードすることに注意してください。

helloname="hello"そのXMLに指定された文字列のIDです。

于 2012-04-23T10:40:32.470 に答える
0

AndroidStudioは非常に不安定です。以前は、に対応するステートメントを自動生成していましたstring.xml。以前のバージョンを使用したチュートリアルは、そのために初心者を立ち往生させます。

仕組みstring.xml_

Android Studioでは、すべてのテキストをstring.xmlファイル内の1か所に書き込む必要があります。他のすべてのファイルでは、略語を入力するだけです。例えば

android:text="@string/Hello_world"

Hello_worldこれは、ファイル内の略語を見つけてstring.xml、目的のテキストに置き換えることを意味します。

string.xml、記述すべき対応するステートメントは次のとおりです。

<string name="Hello_world">Hello world!</string>

そしてそれは仕事をするはずです!

書くだけでも可能ですandroid:text="Hello world!"(これがハードコーディングです)。あなたがアンドロイド開発者になるつもりなら、あなたは効率を最大化しないでしょう。

なんで?string.xml

すべてのテキストを1つのファイルに入れると、多くのことが簡単になります。必要に応じて翻訳し、簡単に変更できます。ただし、意味のある略語を選択する必要があります。

于 2016-05-21T02:11:49.200 に答える