如何从资源导入字符串数组?

时间:2018-12-19 23:44:30

标签: c# xamarin spinner

我在导入字符串数组时遇到问题!

当我尝试下面的代码时,微调框保持空白,并且不加载数组字符串值。这是我使用的代码:

//Fill CoinSpinner
Spinner CoinSpinner = FindViewById<Spinner>(Resource.Id.CoinSpinner);
CoinSpinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(CoinSpinner_ItemSelected);
ArrayAdapter<String> CoinSpinnerAdapter = new ArrayAdapter<String>(this, Resource.Array.coin_array, Android.Resource.Layout.SimpleSpinnerItem);
//ArrayAdapter CoinSpinnerAdapter = ArrayAdapter.CreateFromResource(this, Resource.Array.coin_array, Android.Resource.Layout.SimpleSpinnerItem);
CoinSpinnerAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
CoinSpinner.Adapter = CoinSpinnerAdapter;

我想从Resources / values / String.xml中导入一个字符串数组。...我在做什么错了?

编辑:
这是String.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">TestApp</string>
    <string name="coins_prompt">Coin:</string>
    <string-array name="coin_array">
        <item>EUR</item>
        <item>USD</item>
    </string-array>
</resources>

1 个答案:

答案 0 :(得分:1)

0.25F用于纯原生Android开发,其中println(0.25F) => 0.25 是具有所有资源的所有资源ID的资源类。在Xamarin.Android中,R.array.coin_array变为R,因此请尝试使用R

编辑:

工作代码示例,以在资源中使用字符串数组填充微调器:

布局AXML:

Resource

strings.xml:

Resource.Array.coin_array

C#代码:

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

我已验证上述方法可从资源中的字符串数组填充微调器。