2013-04-25 3 views
0

Как я могу узнать или поймать ImageView onclicklistener?Android ImageView onClick event in 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

ответ

1

это будет показано, что делать и хотят все тоже:

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

Я смущен, «где тост msg будет отображаться над кодировкой?» – ppshein

+0

извините !! Перейдите по этой ссылке: http://stackoverflow.com/questions/4963865/please-help-with-very-simple-android-widget-button-click-getting-very-frustrate –

0

Вы пробовали onClickListener?

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. Я имею в виду, как поймать onclicklistener в AppWidgetProvider. – ppshein

+0

Хорошо, я вижу, вопрос не был на 100% понятен - «Как я могу узнать или поймать ImageView onclicklistener?» – ebi