1

HelloWorldアプリを作成しようとしています。これが私が使用しているチュートリアルへのリンクです。

「コードを使用したユーザーインターフェイスの作成」を正常に完了し、エミュレータでアプリが機能することを確認しましたが、「文字列リソースの作成」に到達したときに問題が発生しました。Strings.xmlファイルを次のように変更しました。

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="helloButtonText">Say Hello</string>
        <string name="helloLabelText">Hello Mono for Android</string>
    </resources> 

それがそうするように言うように、それから私は私のActivity1.csの行を変更したのでそれは次のようになります:

    using System;
    using Android.App;
    using Android.Content;
    using Android.Runtime;
    using Android.Views;
    using Android.Widget;
    using Android.OS;

    namespace HelloM4A
{
[Activity (Label = "HelloM4A", MainLauncher = true)]
public class Activity1 : Activity
{
    int count = 1;

protected override void OnCreate (Bundle bundle)
    {
        base.OnCreate (bundle);

        //Create the user interface in code
        var layout = new LinearLayout (this);
        layout.Orientation = Orientation.Vertical;

        var aLabel = new TextView (this);
        //old line aLabel.Text = "Hello, Mono for Android";
        aLabel.SetText (Resource.String.helloLabelText);

        var aButton = new Button (this);     
        //old line aButton.Text = "Say Hello";
        aButton.SetText (Resource.String.helloButtonText);

    aButton.Click += (sender, e) => {
        aLabel.Text = "Hello from the button";
    }; 
    layout.AddView (aLabel);
    layout.AddView (aButton);          
    SetContentView (layout);
    }
        };
    }
}

}

次に、実行しようとすると、エラーが発生します。Main.axmlの2行目にあるという指定された名前(「text」と値「@ string / hello」)に一致するリソースが見つかりません。コード:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
    android:id="@+id/myButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" />
</LinearLayout>

他のAndroidチュートリアルを試しましたが、Strings.xmlファイルに何かを追加する部分でいつも行き詰まっているようです。この問題の解決策をいただければ幸いです。

4

2 に答える 2

2
<Button
    android:id="@+id/myButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" />

ボタンの XML の最後の属性 (つまり、android:text="@string/hello") は、テキストを文字列リソースの値に設定しようとしていますhellohellostrings.xml ファイルで指定された文字列リソースを定義していません。次のように定義するか、別のものを使用する必要がありますhelloButtonText

<Button
    android:id="@+id/myButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/helloButtonText" />

または、定義した XML ではなくプログラムでビューを設定しているように見えるので、今のところ XML レイアウト ファイルを完全に取り除くことができます。どこにも使用していないようです。

于 2012-06-07T16:14:11.147 に答える
1

あなたの問題は、それ(hello文字列)が存在しないことです。と を作成しましたが、 は作成helloButtonTexthelloLabelTextませんでしhelloた。

ボタン xml をこれに変更すると、動作するはずです。

<Button 
    android:id="@+id/myButton" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/helloButtonText" /> 
于 2012-06-07T16:11:14.037 に答える