繁体   English   中英

显示Xamarin.Android中ViewHolder的进度条

[英]show a progress bar from ViewHolder in Xamarin.Android

我创建了一个回收站视图,并且一切正常。 列表视图中的每个项目都有两个按钮。 如何在按钮单击事件中显示加载栏/进度栏?

我已经在回收者视图中进行了进度条控制,并且能够在单击按钮事件时访问它。 但是在完成按钮单击执行后,进度条正在呈现。

这是我的axml代码:

  <ProgressBar style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/progressBar1" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:progressDrawable="@drawable/circularProgressView" /> 

这是我的视图持有人代码:

   private void BtnProcessAction_Click(object sender, EventArgs e)
    {
        //new Activity().RunOnUiThread(() =>
        //{
        //    mProgressBar.Visibility = ViewStates.Visible;
        //});
        mProgressBar = ItemView.FindViewById<ProgressBar>(Resource.Id.progressBar1);
        mProgressBar.Visibility = ViewStates.Visible;
    }

它们都无法在完成执行之前更新UI。

问题非常简单,包含进度条的方法应该是异步方法:

mProgressBar = ItemView.FindViewById<ProgressBar>(Resource.Id.progressBar1);
private async void BtnProcessAction_Click(object sender, EventArgs e)
{
    mProgressBar.Visibility = ViewStates.Visible;
    await someMethod(); 
    mProgressBar.Visibility = ViewStates.Gone;
}

同样,找到id的按钮单击是一种不好的做法,如果需要的话,请务必在按钮单击事件生成全局变量之前进行操作。

祝好运! 快乐的编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM