C# 如何从资源中导入字符串数组?
我在导入字符串数组时遇到问题 当我尝试下面的代码时,微调器保持为空并且不加载数组字符串值。这是我使用的代码:C# 如何从资源中导入字符串数组?,c#,xamarin,spinner,C#,Xamarin,Spinner,我在导入字符串数组时遇到问题 当我尝试下面的代码时,微调器保持为空并且不加载数组字符串值。这是我使用的代码: //Fill CoinSpinner Spinner CoinSpinner = FindViewById<Spinner>(Resource.Id.CoinSpinner); CoinSpinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(CoinSpinner_It
//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;
//填充旋转器
微调器CoinSpinner=findviewbyd(Resource.Id.CoinSpinner);
CoinSpinner.ItemSelected+=新事件处理程序(CoinSpinner\u ItemSelected);
ArrayAdapter CoinSpinnerAdapter=新的ArrayAdapter(这个,Resource.Array.coin_数组,Android.Resource.Layout.SimplesInnerItem);
//ArrayAdapter CoinSpinnerAdapter=ArrayAdapter.CreateFromResource(此,Resource.Array.coin_数组,Android.Resource.Layout.SimplesInnerItem);
CoinSpinnerAdapter.SetDropDownViewResource(Android.Resource.Layout.SimplesInnerDropDownItem);
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>
特斯塔普
硬币:
欧元
美元
R.array.coin\u array
用于纯本机Android开发,其中R
是资源类,具有所有资源的所有资源ID。在Xamarin.Android中,R
变成了Resource
,所以试试Resource.Array.coin\u 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>
strings.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=findviewbyd(Resource.Id.Spinner);
spinner.ItemSelected+=新事件处理程序
(已选择微调器项目);
var spinnerAdapter=ArrayAdapter.CreateFromResource
(这是Resource.Array.spinnerray,
Android.Resource.Layout.SimpleSpinnerItem);
spinnerAdapter.SetDropDownViewResource
(Android.Resource.Layout.SimpleSpinnerDropDownItem);
微调器适配器=微调器适配器;
我已经验证了上述方法可以从参考资料中的字符串数组填充微调器 Xamarin/C#uses
Resource.xxx.xxx
与JavaR.xxx.xxx
的可能重复版本您能看看更新的问题吗?看起来您就这一问题问了三个问题。这个,还有。但最后,您只需按照此示例回答所有三个问题:
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;