Xamarin 中的 Chronometer 的 FindViewById
FindViewById for Chronometer in Xamarin
我正在尝试使用 Chromoeter 在 Android.Widget 中显示经过的时间。但是,由于我使用的是 AppWidgetProvider,因此无法使用 FindViewById。
我收到此错误:名称 'FindViewById' 不存在上下文。
public class WidgetClass : AppWidgetProvider
{
public override void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
var me = new ComponentName(context, Java.Lang.Class.FromType(typeof(WidgetClass)).Name);
appWidgetManager.UpdateAppWidget(me, BuildRemoteViews(context, appWidgetIds));
}
private RemoteViews BuildRemoteViews(Context context, int[] appWidgetIds)
{
var widgetView = new RemoteViews(context.PackageName, Resource.Layout.widget);
UpdateData(widgetView);
return widgetView;
}
private void UpdateData(RemoteViews widgetView)
{
Chronometer mChronometer = FindViewById<Chronometer>(Resource.Id.chronometer1);
mChronometer.Base = SystemClock.ElapsedRealtime();
mChronometer.Start();
}
如何在 Xamarin.Android 中设置 Chronometer 的底座?
如果 FindViewById
来自命名空间 Android.Views.View
,请为命名空间创建一个 using alias:
using AView = Android.Views.View
...
Chronometer mChronometer = AView.FindViewById<Chronometer>(Resource.Id.chronometer1);
我正在尝试使用 Chromoeter 在 Android.Widget 中显示经过的时间。但是,由于我使用的是 AppWidgetProvider,因此无法使用 FindViewById。
我收到此错误:名称 'FindViewById' 不存在上下文。
public class WidgetClass : AppWidgetProvider
{
public override void OnUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
var me = new ComponentName(context, Java.Lang.Class.FromType(typeof(WidgetClass)).Name);
appWidgetManager.UpdateAppWidget(me, BuildRemoteViews(context, appWidgetIds));
}
private RemoteViews BuildRemoteViews(Context context, int[] appWidgetIds)
{
var widgetView = new RemoteViews(context.PackageName, Resource.Layout.widget);
UpdateData(widgetView);
return widgetView;
}
private void UpdateData(RemoteViews widgetView)
{
Chronometer mChronometer = FindViewById<Chronometer>(Resource.Id.chronometer1);
mChronometer.Base = SystemClock.ElapsedRealtime();
mChronometer.Start();
}
如何在 Xamarin.Android 中设置 Chronometer 的底座?
如果 FindViewById
来自命名空间 Android.Views.View
,请为命名空间创建一个 using alias:
using AView = Android.Views.View
...
Chronometer mChronometer = AView.FindViewById<Chronometer>(Resource.Id.chronometer1);