Xamarin.Androidにて開発を行っています。
listViewに項目をバインドする際に、
画面上に表示している項目と押下した際の項目の内容を別に持ちたいと考えています。
イメージとしては下記のような形を想定しています。
[画面上の表示]
りんご
バナナ
みかん
[クリック時の表示]
"りんご"が押された場合は"apple"を表示
"バナナ"が押された場合は"banana"を表示
"みかん"が押された場合は"orange"を表示
現在は実装方法がわからないため、下記のような記載で実装しています
c#
1 2List<string> japList = new List<string>{"りんご","バナナ","みかん"}; 3List<string> engList = new List<string>{"apple","banana","orange"}; 4 5List<string> viewStateItemList = new List<string>(); 6 7for(int i = 0;i < japList.counte ; i++) 8{ 9 // ここの処理を解決したい 10 viewStateItemList.add(japList + ";" + engList); 11} 12 13ArrayAdapter<string> arrayAdapter = new ArrayAdapter<string>(this, Resource.Layout.default, viewStateItemList); 14 15listView.SetAdapter(arrayAdapter); 16 17listView.ItemClick += (s, a) => 18{ 19 var parent = (ListView)a.Parent; 20 21 string linkeng = (string)parent.GetItemAtPosition(a.Position); 22 linkeng= linkeng.Split(";")[1]; 23 24 Toast.MakeText(this, linkeng, ToastLength.Short).Show(); 25}; 26
この実装だと画面上の表示が
[画面上の表示]
りんご;apple
バナナ;banana
みかん;orange
となってしまい、想定の表示と相違します。
ドロップダウンリストのように、ItemとValueという考え方で実装できれば解決できるとは思うのですが、
調べてもよくわかりませんでした。
不足事項等あれば追記します。
どうか、回答お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/11 02:41
2020/08/11 06:22
2020/08/11 15:53