こんにちは、ウィジェットのクリックの処理に問題があります。クリックしたときにlogcatにメッセージを出力できるようにしましたが、テキストビューのテキストを変更したり、ボタンを表示したりすることはできません。
私の主な目標は、ウィジェットをクリックするとボタンが表示され、ここから設定メニューを開くか、ソーシャル メディアのオプションを共有することです。
これが私のOn Updateコードです(DaysTillWidget.class)
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for (int appWidgetId : appWidgetIds) {
setAlarm(context, appWidgetId, UPDATE_RATE);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
Intent clickIntent = new Intent(context, DaysTillWidget.class);
clickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, appWidgetId, clickIntent, 0);
views.setOnClickPendingIntent(R.id.imageView2, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
}
そして、これが同じクラスの onRecieve コードです
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction()==null) {
Bundle extras = intent.getExtras();
if(extras!=null) {
int widgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
// do something for the widget that has appWidgetId = widgetId
System.out.println("is this it?" + widgetId);
RemoteViews RemoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
}
}
else {
super.onReceive(context, intent);
}
}
どうすれば主な目標に到達できるかについてのアイデアはありますか?! 同様の問題を抱えている人々の投稿を何時間も読んできましたが、何も機能しません!
プロジェクトのセットアップが正しいかどうかはわかりませんが、これまでのところ、他のすべてが機能していますか? サービスクラスと構成クラスがあります。ボタンを表示および非表示にすることができない場合は、そのwidgetIdの共有設定で構成アクティビティを再起動したいと思います
さらにコードを表示する必要がある場合はお知らせください よろしくお願いします