質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

725閲覧

android の widget に MainActivity にあるテキストを表示させたいです

Takuminn

総合スコア14

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2019/07/10 02:44

編集2019/07/11 02:33

android studioでwidgetにMainActivityで表示させているTextviewの情報を取得して表示させたいのですがなかなかうまくいきません。wigetprovider にどのようなプログラムを書けばいいか教えていただきたいです。

追記、、、サイトに載っていたものを参考に同じように書いたのですがクリックしても何も起こらないです

NewAppWidget

1public class NewAppWidget extends AppWidgetProvider { 2 3 static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, 4 int appWidgetId) { 5 6 CharSequence widgetText = context.getString(R.string.appwidget_text); 7 //CharSequence widgetText = context.getString(R.string.appwidget_text); 8 // Construct the RemoteViews object 9 RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget); 10 views.setTextViewText(R.id.appwidget_text, widgetText); 11 views.setOnClickPendingIntent(R.id.appwidget_text, clickAction(context)); 12 13 // Instruct the widget manager to update the widget 14 appWidgetManager.updateAppWidget(appWidgetId, views); 15 } 16 17 @Override 18 public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 19 // There may be multiple widgets active, so update all of them 20 for (int appWidgetId : appWidgetIds) { 21 updateAppWidget(context, appWidgetManager, appWidgetId); 22 } 23 } 24 25 @Override 26 public void onEnabled(Context context) { 27 // Enter relevant functionality for when the first widget is created 28 } 29 30 @Override 31 public void onDisabled(Context context) { 32 // Enter relevant functionality for when the last widget is disabled 33 } 34 35 @Override 36 public void onReceive(Context context, Intent intent) { 37 super.onReceive(context, intent); 38 if (intent.getAction().equals("click_action")) { 39 Toast.makeText(context, "click_action", Toast.LENGTH_SHORT).show(); 40 } 41 } 42 43 private static PendingIntent clickAction(Context context) { 44 Intent intent = new Intent("click_action"); 45 return PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 46 } 47 48 49 50}

AndroidManifest.xml

AndroidManifest.xml

1<application 2 android:allowBackup="true" 3 android:icon="@mipmap/ic_launcher" 4 android:label="時間割" 5 android:roundIcon="@mipmap/ic_launcher_round" 6 android:supportsRtl="true" 7 android:theme="@style/AppTheme"> 8 <receiver android:name=".NewAppWidget"> 9 <intent-filter> 10 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 11 12 <action android:name="click_action"/> 13 </intent-filter> 14 15 <meta-data 16 android:name="android.appwidget.provider" 17 android:resource="@xml/new_app_widget_info" /> 18 </receiver> 19 20 <activity android:name=".MainActivity"> 21 <intent-filter> 22 <action android:name="android.intent.action.MAIN" /> 23 24 <category android:name="android.intent.category.LAUNCHER" /> 25 </intent-filter> 26 </activity> 27 28 29 </application>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こちらの記事が参考になりませんか。
androidでwidgetを実装してみた

投稿2019/07/10 07:39

dsuzuki

総合スコア1682

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takuminn

2019/07/11 02:33

やってみたのですがうまくいかないです。 どこが悪いか教えていただきたいです
退会済みユーザー

退会済みユーザー

2019/07/12 06:52

「うまくいかない」とだけ言って、何ができないのかを書かないのが悪いです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問