为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
POPMUISE 2022-06-19 16:56:45
我在导入字符串数组时遇到问题!当我尝试下面的代码时, Spinners 保持为空并且不加载数组字符串值。这是我使用的代码://Fill CoinSpinnerSpinner 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 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

R.array.coin_array用于纯原生 Android 开发,其中R包含所有资源的所有资源 ID 的资源类。在 Xamarin.Android 中R变为Resource,因此请尝试Resource.Array.coin_array改用。


编辑:


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


布局 AXML:


<?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>

字符串.xml:


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

<resources>

   <string name="hello">Hello World, Click Me!</string>

   <string name="app_name">SpinnerArray</string>

   <string name="on_off">On or Off</string>

   <string-array name="spinnerArray">

      <item>On</item>

      <item>Off</item>

   </string-array>

</resources>

C#代码:


Spinner spinner = FindViewById<Spinner>(Resource.Id.spinner);

spinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>

        (spinner_ItemSelected);

var spinnerAdapter = ArrayAdapter.CreateFromResource

        (this, Resource.Array.spinnerArray, 

         Android.Resource.Layout.SimpleSpinnerItem);

spinnerAdapter.SetDropDownViewResource 

        (Android.Resource.Layout.SimpleSpinnerDropDownItem);

spinner.Adapter = spinnerAdapter;

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


查看完整回答
反对 回复 2022-06-19
  • 1 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信