リソースまたは何かを見つけられない場合、ウィジェットをロードするときに、「ウィジェットのロードの問題」と表示されます。それで全部です!すごい!このメッセージはホーム画面に残り、どのウィジェットの読み込みに問題があったかはわかりません。
私は試行錯誤でそれを理解しましたが、これが発生したときにエラーメッセージを見つける場所があるかどうか知りたいです。どこでAndroidウィジェットの読み込みでどのような問題が発生したのか、どのウィジェットが読み込みに失敗したのでしょうか?
コメントで述べたように、logcatを確認してください。表示されるのはNullPointerExceptionです。私も前にこれを食べました。
ウィジェットのビューで使用した要素を確認してください。
RemoteViewsオブジェクト(およびその結果、アプリウィジェット)は、次のレイアウトクラスをサポートできます。
そして、次のウィジェットクラス:
禁止された要素を使用すると、これが発生します
これのさらに別の考えられる原因:
私はログでこれを見ました:
属性を解決できませんでした
問題は、現在のテーマの色をレイアウトの背景として使用しようとしたことです。
例えば
Android:background="?themeColor"
これを特定の色に変更することで問題が解決しました。
Android:background="@color/White"
ウィジェットの読み込みで問題が発生するのは、ウィジェットレイアウトの問題が原因です!
ウィジェットで使用できるリソースは限られています。適切な要素とそのフィールドを使用してください。
RemoteViewsオブジェクト(およびその結果、アプリウィジェット)は、次の...ウィジェットクラスをサポートできます。
AnalogClock Button ...
私の問題は、サポートされていないこのボタンのフィールドがあったことです。
Android:onClick="onClick"
これを削除すると、ウィジェットが配置場所(以前に配置されていた場合)および使用可能なウィジェットのメニューに表示されるようになりました。
実際Android:onClick=
がView
の場合、このエラーが発生します。
もちろん、ホームページにウィジェットがロードされ、ユーザーがウィジェットとウィジェット構成アプリを含むアプリケーションをアンインストールするユースケースがあります。
その場合、表示されるのは、ホーム画面のトーストのようなボックスにある「問題読み込みウィジェット」だけです。私が知る限り、ウィジェットはパッケージがアンインストールされていることを示していないため、ホーム画面のAppWidgetManagerがデフォルトのメッセージを表示します。
OSチーム側の振る舞いがよく考えられていません。パッケージが削除される前にウィジェットのonDisbled()およびonDestroy()メソッドを呼び出して、必要に応じて整理し、ユーザー(非オタクの電話ユーザー)がクリーンエクスペリエンスを取得できるようにすることをお勧めします。
私もこの問題に直面していますが、それはウィジェットのレイアウトが重いためです。ウィジェットレイアウトは、作成できる限り軽くする必要があります。今、私のウィジェットは完璧に機能しています。
RemoteViewsオブジェクト(およびその結果、アプリウィジェット)は、次のレイアウトクラスをサポートできます。
FrameLayout
LinearLayout
RelativeLayout
GridLayout
そして、次のウィジェットクラス:
AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
ViewFlipper
ListView
GridView
StackView
AdapterViewFlipper
上記以外を使用すると、これがいわゆる「問題読み込みウィジェット」の原因になります。
さらに、ログ(フィルターなし)をチェックして、この問題の正確な行を確認してください。
Moving of the specific (Widget) Application from Internal Memory to SD card
が原因の可能性があります。( Android –「問題読み込みウィジェット」エラーの修正 )
チェックボックスを使用しようとしたため、この問題に直面しました!
これだけ remove checkbox
。
それは正常に動作します。
他の回答に記載されていないこのエラーの別のバリアントを修正しました。
症状は次のとおりです。1)Gingerbread以前の「問題ロードウィジェット」エラー2)ICSおよびJellybean 3)でまったく同じビルドが正常に実行された
この問題は、リモートビューで拡大されないビューを操作することによって発生しました。具体的には:
remoteviews.setViewVisibility(viewId, View.GONE);
ViewIdは有効なリソースでしたが、リモートビューに追加されなかったレイアウトにありました。エラーはスローされず、ウィジェットは.updateAppWidget()の呼び出し後に「問題のロード中のウィジェット」を表示しました
私はノートアプリをアンインストールするときに同じ問題があり、メッセージを長押しして削除メニューを表示し、削除するよりも削除することを選択します。
私の場合、エラーはプロバイダークラス名の変更が原因でした。そのため、ウィジェットプロバイダークラスの名前を変更した場合は、元に戻すようにしてください。また、xmlファイルの名前を変更した場合(例:widget_info.xml
、widget_layout.xml
)、それらを元に戻すこともできます。
これは、ユーザーがアプリを更新し、「古い」ウィジェットが現在表示されている場合にのみ発生しました。
私も同じ問題を抱えていました-
私はAndroid.support.constraint.ConstraintLayoutを使用していたので、「問題読み込みウィジェット」これを削除し、LinearLayoutに変更した後、@ Gangnus saying として解決された問題は、特定のビューのみ。
私の場合、他のビューの上にフローティングtextView
がありました。それを削除し、重複していない既存のビューでユーザーに私の情報を表示する別の方法を考えることが解決策でした。
したがって、ビューをRelativeLayout
とオーバーラップさせないでください。私はそれを引き続き使用し、機能しますが、ビューは可能な限りオーバーラップしません。
同じ問題がありました。解決した問題:ウィジェットでカスタムビューを使用しました。私の状況では、カスタム書体を備えたTextViewでした。
記録のためだけに。内部にTextViewを含むFrameLayoutがあり、すべてのコンテンツが私のウィジェットのヘッダーになるLinerLayoutにあります。最初に私はこれを持っていました
<LinearLayout
[...]
<FrameLayout
Android:id="@+id/widget"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="@color/colorPrimary">
<TextView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:text="@string/app_name"
Android:layout_margin="@dimen/activity_horizontal_margin"
Android:textColor="@Android:color/white"/>
</FrameLayout>
[...]
</LinearLayout>
ここにいる全員として、「問題読み込みウィジェット」メッセージがありました。ソリューションはこれを変更しました
Android:layout_height="?attr/actionBarSize"
このため:
Android:layout_height="64dp"
私は同じ問題を抱えていましたが、logcatには疑わしいものは何も表示されず、エラーも警告も表示されませんでした。基本的に、textviewの text の色を変更するために間違ったメソッドを呼び出していました。