ExpandableListViewの子アイテムをクリックした際に編集画面へ遷移させているのですが、ChildPositionの値をそのまま使うと一つ上のアイテムが参照されてしまいます。
とりあえず+1して対応しているのですが、一番上のアイテムだけクリックしても反応がなくて困っています。
どうしたらよいでしょうか?
一番上のアイテムは+1してもしなくても反応ありません
c#
1//リストアイテムがクリックされたらテキスト編集に遷移 2 memolist.ChildClick+= async (sender, e) => 3 { 4 var parent = (ExpandableListView)e.Parent; 5 var packedPosition = parent.GetExpandableListPosition(e.ChildPosition); 6 7 var groupPosition = ExpandableListView.GetPackedPositionGroup(packedPosition); 8 var childPosition = ExpandableListView.GetPackedPositionChild(packedPosition); 9 var type = ExpandableListView.GetPackedPositionType(packedPosition); 10 if (type == PackedPositionType.Child) 11 { 12 var item = (IDictionary<string, object>)parent.ExpandableListAdapter.GetChild(groupPosition, childPosition+1); 13 var clickfile = item["CHILD_TITLE"].ToString(); 14 15 //そのファイルのテキストを取得 16 IFolder rootFolder = FileSystem.Current.LocalStorage; 17 IFile file = await rootFolder.GetFileAsync(clickfile + ".txt");//ファイルを読むために拡張子をつける 18 string saveddata = await file.ReadAllTextAsync(); 19 20 var intent = new Intent(this, typeof(memoedit)); 21 intent.PutExtra("clickfile", clickfile); // intentに値を入れる 22 intent.PutExtra("Data", saveddata); 23 24 25 StartActivity(intent); 26 27 } 28 };
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。