我无法在ExpandableListView的任何子节点中正确地替换2个视图(来自我的ViewSwitcher)。替换布局的孩子总是第一次在屏幕上显示(可以是第一组的第一个孩子,或第二组的第三个孩子......如果这个孩子在屏幕中第一个)
这是我的代码:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
this.SetContentView(Resource.Layout.main);
ExpandableListView elv = (ExpandableListView)FindViewById(Resource.Id.ExpandableListView01);
loadData();
MyExpandableAdapter adapter = new MyExpandableAdapter(this, groups, childs);
elv.SetAdapter(adapter);
elv.ChildClick += (object sender, Android.Widget.ExpandableListView.ChildClickEventArgs e) =>
{
ViewSwitcher vs = FindViewById<ViewSwitcher>(Resource.Id.details2);
vs.InAnimation = AnimationUtils.LoadAnimation(this, Resource.Animation.fade);
vs.ShowNext();
};
}
此外,如果我将ChildClick事件更改为下一个代码,'fade'动画将用于正确的子项,但我不会使用ViewSwitcher的布局,所以,我该怎么办?
elv.ChildClick += (object sender, Android.Widget.ExpandableListView.ChildClickEventArgs e) =>
{
Animation animation = AnimationUtils.LoadAnimation(this, Resource.Animation.fade);
e.V.StartAnimation(animation) ;
};
}
答案 0 :(得分:0)
我自己回答。
elv.ChildClick += (object sender, Android.Widget.ExpandableListView.ChildClickEventArgs e) =>
{
ViewSwitcher vs = (ViewSwitcher)e.V;
vs.InAnimation = AnimationUtils.LoadAnimation(this, Resource.Animation.fade);
vs.ShowNext();
};