0

私は Android 開発の初心者です。

Eclipse を使用して Android アプリの GUI をセットアップしようとしています。

ボタンなどのコンポーネントを GUI に追加すると、感嘆符が付いた黄色の三角形がメッセージとともに表示されます[I18N] Hardcoded string "Button", should use @string resource

Eclipse は、文字列リソースに文字列ボタンを作成してこれを自動修正するように促しますが、属性 android:text には既に文字列参照が含まれているというエラーがスローされます。

エラーもあります:

Couldn't resolve resource @string/name
Couldn't resolve resource @string/gps
Couldn't resolve resource @string/photo
Couldn't resolve resource @string/back
Couldn't resolve resource @string/add

リソースを解決できませんでした とはどういう意味ですか? name/gps/photo/add は私の GUI のコンポーネントです。

方法:

Add Components to a GUI without erroring? I want to rename the GUI components to something relevant so I can reference them in my code. What steps are generally required?

以前に Visual Studio を使用したことがあり、通常はコンポーネントをドラッグ アンド ドロップし、プロパティで名前を変更するだけで済みました。Android アプリで同じことをしたい - 助けてください!

編集:これらの値は、strings xml ファイルで宣言されていると思います。ここにあります:

<string name="app_name">UCLocationSearch</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="back_button">Back Button</string>
<string name="exit">Exit<string name="add">Add</string>
<string name="gps">GPS</string>
<string name="name">Name</string>
<string name="autocompletetextview">AutoCompleteTextView</string>
<string name="photo">Photo</string>
<string name="back">Back</string>
4

1 に答える 1

4

まず第一に、Android 用の WYSISWYG GUI を使用するのは最悪です。私は XML 経由で UI を作成することを好み、GUI エディターはほとんど使用しません。信頼性が低く、デバイスと同じように見えません。異論を唱える方もいるかもしれませんが、あくまで私の意見です。

次に、エラーが発生する理由は、Android プロジェクトに という名前のファイルがあるためですStrings。これは、文字列定義が保持される場所です。次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">WPAConfiguration</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>

</resources>

呼び出すAndroid:text=@string/hello_worldと、「Hello World!」と表示されます。

エラーを修正するには:

Couldn't resolve resource @string/name
Couldn't resolve resource @string/gps
Couldn't resolve resource @string/photo
Couldn't resolve resource @string/back
Couldn't resolve resource @string/add

あなたが追加します:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="back">Back</string>
    <string name="photo">Photo</string>
    <string name="add">Add</string>
    etc...
</resources>

あなたのStringsリソースに。

Android プロトコルでは、ボタンやその他の GUI オブジェクトに名前を付けるときは、Stringsリソースを介して行うことをお勧めします。あなたが航海に着手する前に、他の人が推奨しているように、私はいくつかのチュートリアルを行います. そうしないと、今よりもはるかに多くの問題を抱えることになります。

幸運を!

于 2013-06-14T00:24:00.963 に答える