gpt4 book ai didi

c# - 通过 Xamarin 在小部件中使用 ViewFlipper

转载 作者:太空狗 更新时间:2023-10-29 13:23:41 25 4
gpt4 key购买 nike

我正在构建一个包含多页信息的小部件。一次只显示一页,当用户点击小部件时,将显示下一页。我想通过使用 ViewFlipper 创建此功能,但是我找不到任何关于如何为小部件实现它的文档。

这是我在尝试让 ViewFlipper 工作时使用的框架代码。

我有一个小部件 (DivisionStandings),它通过服务 (UpdateService) 将内容插入到布局 (mainLayout) 中。

运行小部件时,我最初看到 header1 的文本按预期设置为“更新的 header ”。然而,触摸小部件没有任何作用。

[BroadcastReceiver (Label = "aaWdiget")]
[IntentFilter (new string [] { "android.appwidget.action.APPWIDGET_UPDATE" })]
[MetaData ("android.appwidget.provider", Resource = "@xml/divisionstandings")]
public class DivisionStandings : AppWidgetProvider
{
public override void OnUpdate (Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
context.StartService (new Intent (context, typeof (UpdateService)));
}
}


[Service]
public class UpdateService : Service
{
public override void OnStart (Intent intent, int startId)
{
RemoteViews mainView= new RemoteViews (this.PackageName, Resource.Layout.mainLayout);;
ComponentName thisWidget = new ComponentName (this, "mlbstandings.DivisionStandings");
AppWidgetManager manager = AppWidgetManager.GetInstance (this);

mainView.SetTextViewText(Resource.Id.header1, "Updated Header");

ViewFlipper flipper = (ViewFlipper)Resource.Id.viewFlipper1;
flipper.Touch += (object sender, View.TouchEventArgs e) => {
flipper.ShowNext();
};

manager.UpdateAppWidget (thisWidget, mainView);
}


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout" >
<ViewFlipper
android:id="@+id/viewFlipper1">
<TextView
android:id="@+id/header1"
android:text="---Header" />
<TextView
android:id="@+id/header2"
android:text="Other Header" />
</ViewFlipper>
</LinearLayout>

最佳答案

问题可能在 ViewFlipper flipper = (ViewFlipper)Resource.Id.viewFlipper1; 中'Resource.Id.viewFlipper1' 是 int不是ViewFlipper

所以你需要像这样通过 id 查看:

ViewFlipper flipper = mainView.FindViewById<ViewFlipper> (Resource.Id.viewFlipper1)

<罢工>

更新因为看起来没有方法可以直接访问您需要使用的 View mainView.SetOnClickPendingIntent而不是你在OnRecive()中的行动方法。

Here is Java 中的更多信息

关于c# - 通过 Xamarin 在小部件中使用 ViewFlipper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24743922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com