The*_*unk 9 c# xamarin.android 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 to an index
jb_spinner.SetSelection(2);
Run Code Online (Sandbox Code Playgroud)
最后,编写jb_spinner_ItemSelected处理程序,以便在用户进行选择时发生某些事情:
private void jb_spinner_ItemSelected (object sender, ItemEventArgs e){
Spinner spinner = (Spinner)sender;
//do something here, such as raise a Toast
Toast.MakeText(this, "Index="+e.Position.ToString(),ToastLength.Long).Show();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7935 次 |
| 最近记录: |