web-dev-qa-db-ja.com

「問題読み込みウィジェット」メッセージ

リソースまたは何かを見つけられない場合、ウィジェットをロードするときに、「ウィジェットのロードの問題」と表示されます。それで全部です!すごい!このメッセージはホーム画面に残り、どのウィジェットの読み込みに問題があったかはわかりません。

私は試行錯誤でそれを理解しましたが、これが発生したときにエラーメッセージを見つける場所があるかどうか知りたいです。どこでAndroidウィジェットの読み込みでどのような問題が発生したのか、どのウィジェットが読み込みに失敗したのでしょうか?

41
Androider

コメントで述べたように、logcatを確認してください。表示されるのはNullPointerExceptionです。私も前にこれを食べました。

25
Unconn

ウィジェットのビューで使用した要素を確認してください。

ドキュメントリンク

RemoteViewsオブジェクト(およびその結果、アプリウィジェット)は、次のレイアウトクラスをサポートできます。

  • FrameLayout
  • LinearLayout
  • RelativeLayout
  • グリッドレイアウト

そして、次のウィジェットクラス:

  • アナログ時計
  • ボタン
  • クロノメーター
  • ImageButton
  • ImageView
  • プログレスバー
  • TextView
  • ViewFlipper
  • リストビュー
  • グリッドビュー
  • StackView
  • AdapterViewFlipper

禁止された要素を使用すると、これが発生します

問題読み込みウィジェット

113
Gangnus

これのさらに別の考えられる原因:

私はログでこれを見ました:

属性を解決できませんでした

問題は、現在のテーマの色をレイアウトの背景として使用しようとしたことです。

例えば

Android:background="?themeColor"

これを特定の色に変更することで問題が解決しました。

Android:background="@color/White"
10
Kuffs

ウィジェットの読み込みで問題が発生するのは、ウィジェットレイアウトの問題が原因です!

ウィジェットで使用できるリソースは限られています。適切な要素とそのフィールドを使用してください。

RemoteViewsオブジェクト(およびその結果、アプリウィジェット)は、次の...ウィジェットクラスをサポートできます。

AnalogClock
Button
...

開発者ドキュメント

私の問題は、サポートされていないこのボタンのフィールドがあったことです。

Android:onClick="onClick" 

これを削除すると、ウィジェットが配置場所(以前に配置されていた場合)および使用可能なウィジェットのメニューに表示されるようになりました。

実際Android:onClick=Viewの場合、このエラーが発生します。

4
coolcool1994

もちろん、ホームページにウィジェットがロードされ、ユーザーがウィジェットとウィジェット構成アプリを含むアプリケーションをアンインストールするユースケースがあります。

その場合、表示されるのは、ホーム画面のトーストのようなボックスにある「問題読み込みウィジェット」だけです。私が知る限り、ウィジェットはパッケージがアンインストールされていることを示していないため、ホーム画面のAppWidgetManagerがデフォルトのメッセージを表示します。

OSチーム側の振る舞いがよく​​考えられていません。パッケージが削除される前にウィジェットのonDisbled()およびonDestroy()メソッドを呼び出して、必要に応じて整理し、ユーザー(非オタクの電話ユーザー)がクリーンエクスペリエンスを取得できるようにすることをお勧めします。

3
Grandpop

私もこの問題に直面していますが、それはウィジェットのレイアウトが重いためです。ウィジェットレイアウトは、作成できる限り軽くする必要があります。今、私のウィジェットは完璧に機能しています。

3

RemoteViewsオブジェクト(およびその結果、アプリウィジェット)は、次のレイアウトクラスをサポートできます。

FrameLayout
LinearLayout
RelativeLayout
GridLayout

そして、次のウィジェットクラス:

AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
ViewFlipper
ListView
GridView
StackView
AdapterViewFlipper

上記以外を使用すると、これがいわゆる「問題読み込みウィジェット」の原因になります。

さらに、ログ(フィルターなし)をチェックして、この問題の正確な行を確認してください。

3
Sachin Sharma

基本的に、ウィジェットは例外を飲み込みます。あなたのlogcatに適切なフィルターを設定するだけで、あなたは問題が何であるかを見ることができるでしょう...

enter image description here

上記では、「Widget」という単語を検索し、特定のアプリケーションにフィルターを設定していません。基本的に、完全なスタックトレースなしでThrowable.getMessage()を提供します。

3
Eurig Jones

Moving of the specific (Widget) Application from Internal Memory to SD cardが原因の可能性があります。( Android –「問題読み込みウィジェット」エラーの修正

2
hasanghaforian

チェックボックスを使用しようとしたため、この問題に直面しました!

これだけ remove checkbox

それは正常に動作します。

1
Armsuntech

他の回答に記載されていないこのエラーの別のバリアントを修正しました。

症状は次のとおりです。1)Gingerbread以前の「問題ロードウィジェット」エラー2)ICSおよびJellybean 3)でまったく同じビルドが正常に実行された

この問題は、リモートビューで拡大されないビューを操作することによって発生しました。具体的には:

remoteviews.setViewVisibility(viewId, View.GONE);

ViewIdは有効なリソースでしたが、リモートビューに追加されなかったレイアウトにありました。エラーはスローされず、ウィジェットは.updateAppWidget()の呼び出し後に「問題のロード中のウィジェット」を表示しました

1
Jim Vitek

私はノートアプリをアンインストールするときに同じ問題があり、メッセージを長押しして削除メニューを表示し、削除するよりも削除することを選択します。

0
Yusufmm

私の場合、エラーはプロバイダークラス名の変更が原因でした。そのため、ウィジェットプロバイダークラスの名前を変更した場合は、元に戻すようにしてください。また、xmlファイルの名前を変更した場合(例:widget_info.xmlwidget_layout.xml)、それらを元に戻すこともできます。

これは、ユーザーがアプリを更新し、「古い」ウィジェットが現在表示されている場合にのみ発生しました。

0
crpse

私も同じ問題を抱えていました-

私はAndroid.support.constraint.ConstraintLayoutを使用していたので、「問題読み込みウィジェット」これを削除し、LinearLayoutに変更した後、@ Gangnus saying として解決された問題は、特定のビューのみ。

0
Bajrang Hudda

私の場合、他のビューの上にフローティングtextViewがありました。それを削除し、重複していない既存のビューでユーザーに私の情報を表示する別の方法を考えることが解決策でした。

したがって、ビューをRelativeLayoutとオーバーラップさせないでください。私はそれを引き続き使用し、機能しますが、ビューは可能な限りオーバーラップしません。

0
Vlad M.

同じ問題がありました。解決した問題:ウィジェットでカスタムビューを使用しました。私の状況では、カスタム書体を備えたTextViewでした。

0
ikosdroid

記録のためだけに。内部に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"
0
jorgeavilae

私は同じ問題を抱えていましたが、logcatには疑わしいものは何も表示されず、エラーも警告も表示されませんでした。基本的に、textviewの text の色を変更するために間違ったメソッドを呼び出していました。

0
AntonSack