2011-06-26 62 views
0

我对窗口部件(TextView,ImageView ...)有不同的控制。在一些控件上,我设置了setOnClickPendingIntent(例如 - tvInfo)。这行得通。点击TextView,我可以获取onReceive我的小部件。没有响应点击小部件

protected final void addClickListener(String action, int layoutId) { 
    Log.d(TAG, "addClickListener " + action); 
    Intent intent = new Intent(WidgetInfo.Context, getMainWidget()); 
    intent.setAction(action); 
    PendingIntent actionPendingIntent = 
     PendingIntent.getBroadcast(WidgetInfo.Context, 0, intent, 0); 
    remoteViews.setOnClickPendingIntent(layoutId, actionPendingIntent); 

但如果我点击窗口小部件的另一部分再次tvInfo(其中没有设置setOnClickPendingIntent),然后。没有任何反应,onReceive没有反应。如果我反复点击tvIfo然后onReceive工作。此外,如果我双击或甚至次数,然后再次在tvInfo,onReceive响应。 onReceive只有当我点击widget的空白部分奇数次时才回应。

回答

1

我解决了这个问题,如下所示:

  • 对widget的顶部的LinearLayout加setOnClickPendingIntent;
  • 为此linearLayout设置android:soundEffectsEnabled =“false”。