私はExpandableListView
を持っており、各グループには多くのグループと子供がいます。私は、起動時にExpandableListView
を表示する必要がありますが、複数のバックグラウンドスレッドでロードする各行の情報があり、個々の子行をスレッドごとに更新する必要があります。 をベースアダプターに渡し、int
をグループ位置の番号にします。誰も私は完璧に1つの子行を更新することができ、私の問題にいくつかの光を当てることができる方法を知っていますか?私に教えてください、ありがとうございました。ExpandableListViewで1つの子ローを更新するにはどうすればよいですか?
これまでのところ私が持っている:あなたは
var dictionary = _adapter.groupDictionary;
var rowToUpdate = dictionary.Where(k => k.Value.Any(m => m.Id == _id))
.ToDictionary(n => n.Key, n => n.Value.Where(o => o.Id == _id).ToList());
int groupPosition = rowToUpdate.Keys.FirstOrDefault();
int childPosition = dictionary.Values.FirstOrDefault().IndexOf(rowToUpdate.Values.FirstOrDefault().FirstOrDefault());
ExpandableListView listView = mView.FindViewById<ExpandableListView>(Resource.Id.listView);
var flatPosition = listView.GetFlatListPosition(groupPosition);
int first = listView.FirstVisiblePosition;
var v = listView.GetChildAt(flatPosition - first);
if (v == null)
return;
TextView someText = (TextView)v.FindViewById(R.id.sometextview);
someText.SetText("Hi! I updated you manually!");
あなたはこれまでに何を試しましたか?コードのスニペットを投稿すると誰もがあなたにうまく答えるのを助けることができます –
@RalphMelhem私は 'getChildAt'を試して、' getFlatListPosition() - firstVisiblePosition() 'を渡しましたが、私が望むものを達成するのに近くなっていないようで、グループと子供の両方に合格する方法でした。私はこれが助けになるなら、すぐに私の試みを掲載することができます。 – imageobject
あなたの質問を編集し、関連するコードを投稿してください(活動) –