2017-07-20 9 views
0

私はウィジェットを持っていて、その上にいくつかのデータを表示しています。私はウィジェットをクリックしていくつかのアクティビティを開きたいと思っています。 here.Iからの助けウィジェット内の初心者は、あなたが行っている変更内容を事前ウィジェットのレイアウトをクリックするとアクティビティが開始されます

public class NewAppWidget extends AppWidgetProvider { 
public static RemoteViews views; 

static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, 
          int appWidgetId) { 

    CharSequence widgetText = NewAppWidgetConfigureActivity.loadTitlePref(context); 
    CharSequence notetext = NewAppWidgetConfigureActivity.loadNotePref(context); 
    views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget); 
    views.setTextViewText(R.id.appwidget_text, widgetText); 
    views.setTextViewText(R.id.wd_note, notetext); 
    appWidgetManager.updateAppWidget(appWidgetId, views); 



} 

@Override 
public void onReceive(Context context, Intent intent) { 

} 

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
    // There may be multiple widgets active, so update all of them 
    for (int appWidgetId : appWidgetIds) { 
     updateAppWidget(context, appWidgetManager, appWidgetId); 
     RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.new_app_widget); 
     Intent configIntent = new Intent(context, NewAppWidget.class); 

     PendingIntent configPendingIntent = PendingIntent.getActivity(context, 0, configIntent, 0); 

     remoteViews.setOnClickPendingIntent(R.id.widget_layout, configPendingIntent); 
     appWidgetManager.updateAppWidget(appWidgetIds, remoteViews); 


    } 

} 




@Override 
public void onDeleted(Context context, int[] appWidgetIds) { 
    // When the user deletes the widget, delete the preference associated with it. 
    for (int appWidgetId : appWidgetIds) { 
     NewAppWidgetConfigureActivity.deleteTitlePref(context, appWidgetId); 
    } 
} 

@Override 
public void onEnabled(Context context) { 

} 

@Override 
public void onDisabled(Context context) { 
    // Enter relevant functionality for when the last widget is disabled 
} 
} 

答えて

0
public class NewAppWidget extends AppWidgetProvider { 
    public static RemoteViews views; 


    @Override 
    public void onReceive(Context context, Intent intent) { 
     super.onReceive(context, intent); 
     if (configIntent.getAction().equals("your_unique_string")) { 
      /* your logic goes here whatever you want to do onclick of widget view */ 
      startActivity(intent); 
     } 
    } 

    @Override 
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
     // There may be multiple widgets active, so update all of them 
     for (int appWidgetId : appWidgetIds) { 
      RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.new_app_widget); 


      Intent configIntent = new Intent(context, NewAppWidget.class); 
      configIntent.setAction("your_unique_string"); 

      PendingIntent configPendingIntent = PendingIntent.getActivity(context, 0, configIntent, 0); 

      remoteViews.setOnClickPendingIntent(R.id.widget_layout, configPendingIntent); 
      appWidgetManager.updateAppWidget(appWidgetIds, remoteViews); 


     } 

    } 


    @Override 
    public void onDeleted(Context context, int[] appWidgetIds) { 
     // When the user deletes the widget, delete the preference associated with it. 
     for (int appWidgetId : appWidgetIds) { 
      NewAppWidgetConfigureActivity.deleteTitlePref(context, appWidgetId); 
     } 
    } 

    @Override 
    public void onEnabled(Context context) { 

    } 

    @Override 
    public void onDisabled(Context context) { 

    } 
} 
+0

で 感謝を助けてくださいでしょうか? –

+0

@faizmir、私は、updateAppWidget()ブロック全体を削除しました。私はまだやっている、私はやっていない。待ってください。 –

+0

ok waitingy –

関連する問題