こんにちは。エクセルソフトの田淵です。
Xamarin.Android で Custom の ListView が使いたくて色々調べているのですが、BaseAdapter
ということで、まずは
ArrayAdapter と SimpleListItem1 で Add, Remove する
public class MainActivity : Activity { ListView listView; ArrayAdapter simpleAdapter; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); listView = FindViewById<ListView>(Resource.Id.simpleListView); simpleAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1); for (var i = 0; i < 5; i++) { simpleAdapter.Add("item_" + i); } listView.Adapter = simpleAdapter; listView.ItemClick += OnListItemClick; var addButton = FindViewById<Button>(Resource.Id.mainAddButton); addButton.Click += (sender, e) => { var rdm = new Random(); simpleAdapter.Add("item_" + rdm.Next()); }; var deleteButton = FindViewById<Button>(Resource.Id.mainDeleteButton); deleteButton.Click += (sender, e) => { if(simpleAdapter.Count > 0) { var item = simpleAdapter.GetItem(simpleAdapter.Count - 1); simpleAdapter.Remove(item); } }; } private void OnListItemClick(object sender, AdapterView.ItemClickEventArgs e) { var listView = sender as ListView; var t = simpleAdapter.GetItem(e.Position).ToString(); Toast.MakeText(this, t, ToastLength.Short).Show(); Console.WriteLine("Clicked on " + t); } }
インスタンス化した simpleAdapter に対して、そのまま Add
や Remove
ができますね。
ArrayAdapter API リファレンス には Add
とかあります。というか、ArrayAdapter
が BaseAdapter
を継承してますね… そりゃ BaseAdapter
には Add
ないわけだw
もう少し調べてみます。
Xamarin 気になった方は
是非 ダウンロード して触ってみてください。Visual Studio 2015 をご利用の方は Update 3 にアップデートする際にカスタムインストールで Xamarin を追加しましょう。 学習用リソース や JXUG リンクページ に参考資料を纏めてますので併せてどうぞ。
Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)
Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。
私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)、Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。
以上です。