Android小部件点击不起作用

时间:2011-02-12 16:49:07

标签: android android-widget

我一直在尝试为我的小部件添加配置屏幕,但是我在使用它时遇到了问题。当我第一次将小部件添加到我的主屏幕时,配置屏幕就会出现,但是当用户点击小部件时,它也会出现。那是不起作用的部分。

这是onUpdate代码:

Intent intent = new Intent(context, WidgetConfiguration.class);            
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);  
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);            
views.setOnClickPendingIntent(R.id.temperatureWidget, pendingIntent); 

这是小部件布局的xml(widget.xml):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/frame"
android:clickable="true"
android:focusable="true"
android:id="@+id/temperatureWidget">
<ImageView
    android:layout_marginTop="15px"
    android:layout_marginLeft="25px"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:src="@drawable/img_thermometer"/>
<TextView 
    android:id="@+id/TextView01" 
    android:layout_marginTop="35px"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="12pt"
    android:textColor="@color/black"
    android:text="  Temp: "/>
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="35px"
    android:textSize="12pt"
    android:textColor="@color/black"
    android:id="@+id/txtTemperature"/>

</LinearLayout>

当我点击小部件时,没有任何反应。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您需要添加appwidget docs中给出的一行

appWidgetManager.updateAppWidget(appWidgetId, views);

答案 1 :(得分:0)

我觉得它是你的xml布局中的小部件。您确定R.id.temperatureWidget是否可点击?这是一个按钮还是你的实际布局命名的?