java - 小部件未更新?

标签 java android android-widget

这只是我第二次使用小部件,也是第一次使用它上面的按钮......或者一般来说除了 TextView 之外的任何东西。

所以基本上我拥有的只是一个小部件...当我单击它时,它不会执行任何操作,并且永远不会更新。为什么?困惑...:P

所以,这是我的 WidgetAct onUpdate 代码:

@Override
public void onUpdate(Context c, AppWidgetManager awm, int[] appWidgetIds){
    Log.i("IN","onUpdate");
    RemoteViews rv = new RemoteViews(c.getPackageName(),R.layout.widget);

    Intent twitter_intent = new Intent(c,TwitterUpdate.class);
    twitter_intent.setAction(ACTION_WIDGET_TWITTER);

    Intent fb_intent = new Intent(c,FBUpdate.class);
    fb_intent.setAction(ACTION_WIDGET_FB);

    //Intent curr = new Intent(c,WidgetAct.class);
    //curr.setAction(ACTION_WIDGET_WA);

    PendingIntent twitter_pi = PendingIntent.getActivity(c, 0, twitter_intent, 0);
    PendingIntent fb_pi = PendingIntent.getActivity(c,0,fb_intent,0);

    rv.setOnClickPendingIntent(R.id.tweet, twitter_pi);
    rv.setOnClickPendingIntent(R.id.fb, fb_pi);

    awm.updateAppWidget(appWidgetIds, rv);
}

现在这是我的 list (或重要部分):

 <receiver android:name="WidgetAct">
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            <action android:name="com.laytproducts.IN.WidgetAct.ACTION_WIDGET_FB" />
            <action android:name="com.laytproducts.IN.WidgetAct.ACTION_WIDGET_TWITTER" />
        </intent-filter>
        <meta-data android:name="android.appwidget.provider"
            android:resource="@xml/winfo"/>
    </receiver>

这是我的小部件提供程序的 xml:

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth = "220dp"
android:minHeight = "72dp"
android:updatePeriodMillis="0"
android:initialLayout="@layout/widget">

这是我的布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/linearLayout1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical">
<FrameLayout android:background="@drawable/inwidget" android:id="@+id/frameLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <ImageButton android:scaleType="fitXY" android:src="@drawable/twitterlogo" android:layout_marginTop="17dp" android:id="@+id/tweet" android:layout_marginLeft="20dp" android:layout_width="40dp" android:layout_height="40dp"></ImageButton>
        <ImageButton android:scaleType="fitXY" android:src="@drawable/facebooklogo" android:layout_marginLeft="5dp" android:id="@+id/fb" android:layout_toRightOf="@+id/tweet" android:layout_alignTop="@+id/tweet" android:layout_alignBottom="@+id/tweet" android:layout_width="40dp" android:layout_height="40dp"></ImageButton>
    </RelativeLayout>

</FrameLayout>

有很多代码...但我确实没有理由相信我破坏了某些东西 XD...但那是因为我的小部件知识很少。

希望这是我忽略的一个小错误。 谢谢大家, 布兰登

最佳答案

如果您希望您的小部件更新,您应该在 XML 文件的“updatePeriodMillis”字段中设置时间间隔。但请记住,使用此方法更新的最小时间间隔是 30 分钟。

关于java - 小部件未更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9543699/

相关文章:

android - 如何从 PreferenceActivity 创建 Android App Widget 作为配置 Activity

Java ID3计算熵

java - CipherInputStream 如何为您正在读取的不同字节打开/关闭密码

java - Java 中的字符串操作

android - RecyclerView 2 Columns with CardView

android - 如何锁定我公司的 Android 服务?

android - 如何从 java 代码访问 android 默认图像(例如,按下时搜索栏拇指的图像)?

java - 在现有的 JFrame 中重绘一个新的 JFrame?

android - 如何从 Android 中的 ListView 禁用(暗淡)onItemLongClick 中的选项?

android - 遇到软键盘问题