小编The*_*unk的帖子

示例:如何以编程方式从MonoDroid/C中的数组填充Android Spinner

本周我开始在MonoDroid上摆弄.并不是说我不喜欢Java,但是我把大部分时间花在了Visual Studio/C#或Delphi上,而且我宁愿拉出我的指甲,也不愿学习另外的IDE和YET另一个编辑器来使用Eclipse.

我将此代码改编为Java中的C#,因为在C#代码中而不是在AXML中以编程方式填充我的微调器更容易.也许你们中的一些人可能会发现它很有用

在您的Activity的axml中创建一个通用的Spinner:

<Spinner
    android:id="@+id/spinner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:prompt="@string/spinner_prompt"
/>
Run Code Online (Sandbox Code Playgroud)

在适当的地方构建你的字符串数组:

public static readonly string[] refresh_ratesS = {"10 seconds","20 seconds","30 seconds","60 seconds","5 minutes"}; 
Run Code Online (Sandbox Code Playgroud)

我更喜欢在Activity的公共类中实例化对象,这样我只需要识别它们一次:

public class ActivityChooseRefreshRate :Activity {
    Spinner         jb_spinner;
Run Code Online (Sandbox Code Playgroud)

在Activity的OnCreate函数中,将数组赋给微调器:

     //identify the spinner
jb_spinner      =   FindViewById<Spinner>(Resource.Id.spinner);
     //create the handler for when the user selects something
jb_spinner.ItemSelected += new EventHandler<ItemEventArgs> (jb_spinner_ItemSelected);
    //assign your array to an ArrayAdapter
ArrayAdapter<string>  spinnerArrayAdapter   =   new ArrayAdapter<string>(this,Android.Resource.Layout.SimpleSpinnerItem,refresh_ratesS);
      //Use the ArrayAdapter you've set up to populate your spinner
spinnerArrayAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerItem);
jb_spinner.Adapter      =   spinnerArrayAdapter;
   //optionally pre-set jb_spinner …
Run Code Online (Sandbox Code Playgroud)

c# xamarin.android android-spinner

9
推荐指数
0
解决办法
7935
查看次数

如何使用VS和Monodroid阅读资产文件

我一直在尝试使用C#和Monodroid来实现这个例子,但是在阅读和编写资产文件时遇到了困难:

http://docs.xamarin.com/android/advanced_topics/using_android_assets

我正在使用模拟器,而不是设备.

首先,我无法找到Assets.Open的命名空间.我最终发现的是

const string lfn  = MyAssetFile.txt;
System.IO.StreamReader(Android.Content.Res.Resources.System.Assets.Open(lfn);
Run Code Online (Sandbox Code Playgroud)

这是正确的命名空间吗?

其次,我的资产文件在VS"属性"窗格中标记为AndroidAsset和"始终复制",但我尝试使用以下语句读取文件总是失败(找不到文件):

string  settings = "";
using (StreamReader sr = new System.IO.StreamReader (Android.Content.Res.Resources.System.Assets.Open(lfn))) settings   =   sr.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)

我的VS设置是否错误,以便资产文件没有被复制到模拟器上,或者是否正在被复制,但是我的代码打开/读取它是错误的?

assets xamarin.android xamarin

5
推荐指数
1
解决办法
7957
查看次数

标签 统计

xamarin.android ×2

android-spinner ×1

assets ×1

c# ×1

xamarin ×1