2013-04-25 95 views
0

如何才能知道或捕获ImageView onclicklistener?Android ImageView onClick event on Widget

public class AppWidget extends AppWidgetProvider{ 
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
     final int N = appWidgetIds.length; 
     for (int i=0; i<N; i++) { 
      int appWidgetId = appWidgetIds[i]; 
      Intent intent = new Intent(context, ShowActivity.class); 
      PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 
      RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout); 
      views.setOnClickPendingIntent(R.id.imageView1, pendingIntent); 
      appWidgetManager.updateAppWidget(appWidgetId, views); 
     } 
    } 
} 

上面的代码,当点击ImageView时,意图ShowActivity.class。但是我真正想要的是当点击ImageView时,我想显示“Toast”消息而不需要任何活动。

+0

得到的答案在这里。 http://stackoverflow.com/questions/12511940/how-to-present-a-toast-when-a-widget-is-clicked – ppshein 2013-04-25 08:34:58

回答

1

它会显示ü想excatly什么事:

Intent intent = new Intent(context, ShowActivity.class); 
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);   
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME))); 
PendingIntent pendIntent = PendingIntent.getActivity(context, 0,intent, PendingIntent.FLAG_UPDATE_CURRENT); 
RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.widget_layout); 
views.setOnClickPendingIntent(R.id.image1, pendIntent); 
appWidgetManager.updateAppWidget(appWidgetId, views); 
+0

我很困惑,“在哪里敬酒味精会显示上面的代码?” – ppshein 2013-04-25 06:06:09

+0

对不起!请参阅此链接:http://stackoverflow.com/questions/4963865/please-help-with-very-simple-android-widget-button-click-getting-very-frustrate – 2013-04-25 07:30:55

0

您是否尝试过ClickClickListener?

ImageView img = (ImageView) findViewById(R.id.img_id); 
img.setOnClickListener(new OnClickListener() { 
@Override 
public void onClick(View v) { 
    Toast.makeText(YourActivityName.this, 
      "My Toast Text", Toast.LENGTH_LONG).show(); 
    } 
}); 
+0

你写的不是AppWidgetProvider。我的意思是,如何捕捉AppWidgetProvider中的onclicklistener。 – ppshein 2013-04-25 03:09:12

+0

好吧,我明白了,问题并非100%清楚 - “我如何知道或捕获ImageView onclicklistener?” – ebi 2013-04-25 14:36:37