“加载小工具的问题”消息

时间:2011-02-10 01:34:56

标签: java android android-layout android-widget loading

当加载小部件时,如果找不到资源或其他内容,则说明“加载小工具”问题。就这样!惊人!此消息仍保留在主屏幕上,甚至没有说明哪个小部件无法加载。

我通过反复试验弄明白了但是我想知道是否有任何地方可以在发生这种情况时找到错误消息。 Android会在哪里说出加载小部件的问题,甚至是哪个小部件无法加载?

19 个答案:

答案 0 :(得分:110)

检查您在窗口小部件视图中使用的元素。

Documentation link

RemoteViews对象(以及App Widget)可以支持以下布局类:

  • 的FrameLayout
  • 的LinearLayout
  • RelativeLayout的
  • GridLayout的

以下小部件类:

  • AnalogClock
  • 按钮
  • 精密计时
  • 的ImageButton
  • ImageView的
  • 进度
  • 的TextView
  • ViewFlipper
  • 的ListView
  • GridView的
  • StackView
  • AdapterViewFlipper

使用禁用元素会导致出现

问题加载窗口小部件

消息,而不会说明它发生在何处。

答案 1 :(得分:26)

如评论中所述,请检查logcat。您将看到的是NullPointerException。我之前也有这个。

答案 2 :(得分:9)

另一个可能的原因是:

我在日志中看到了这个:

  

无法解析属性

问题是我试图使用当前主题中的颜色作为我的一个布局的背景。

例如

android:background="?themeColor"

将此更改为特定颜色解决了问题。

android:background="@color/White"

答案 3 :(得分:4)

问题加载窗口小部件是由窗口小部件布局中的问题导致的!

您可以在窗口小部件中使用的资源数量有限。请确保使用正确的元素及其字段。

  

RemoteViews对象(以及应用程序窗口小部件)可以支持以下...窗口小部件类:

AnalogClock
Button
...

Developer docs

我的问题是:我有一个不支持的Button字段

android:onClick="onClick" 

删除此功能可使窗口小部件显示在放置位置(如果已放置)以及可用窗口小部件的菜单中。

事实上,为android:onClick=设置View会导致此错误。

答案 4 :(得分:3)

当然有一个用例,主页上加载了一个小部件,然后用户卸载了包含小部件和小部件配置应用程序的应用程序。

当发生这种情况时,您看到的只是主屏幕上类似吐司的框中的“加载小工具”。据我所知,小部件没有表明正在卸载软件包,我猜主屏幕AppWidgetManager会抛出一条默认消息。

操作系统团队没有深思熟虑的行为。我建议最好在删除软件包之前调用小部件的onDisbled()和onDestroy()方法,以便在需要时可以整理并且用户(非极客手机用户)获得干净的体验。

答案 5 :(得分:3)

我也遇到了这个问题,但这只是因为重量级的小部件布局。窗口小部件布局应尽可能轻松创建。现在我的小部件工作得很完美。

答案 6 :(得分:3)

RemoteViews对象(以及App Widget)可以支持以下布局类:

FrameLayout
LinearLayout
RelativeLayout
GridLayout

以下小部件类:

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

使用除上述之外的任何内容都会导致所谓的“问题加载小部件”。

此外,检查日志(没有任何过滤器)以查看此问题的确切行。

答案 7 :(得分:3)

基本上Widgets吞下异常。只需在logcat中设置一个合适的过滤器,您就能看到问题所在......

enter image description here

上面,我只是搜索单词“小部件”,并且没有在任何特定应用程序上设置过滤器。它本质上给了我Throwable.getMessage()没有完整的堆栈跟踪。

答案 8 :(得分:2)

可能由Moving of the specific (Widget) Application from Internal Memory to SD card。(Android – Fixing “Problem Loading Widget” Error

引起

答案 9 :(得分:1)

我遇到了这个问题因为我试图使用Check-box!

所以,只需remove checkbox

它会正常工作。

答案 10 :(得分:1)

修复了其他答案中未提及的此错误的另一个变体。

症状是: 1)姜饼及以下“问题加载小部件”错误 2)完全相同的构建在ICS和Jellybean上运行良好 3)logcat没有错误

问题是由操纵远程视图中从未膨胀的视图引起的。具体做法是:

remoteviews.setViewVisibility(viewId, View.GONE);

其中viewId是有效资源,但它位于从未添加到远程视图的布局中。没有错误被抛出,并且在调用.updateAppWidget()之后窗口小部件显示“问题加载小部件”

答案 11 :(得分:0)

我这边的问题是我使用了androidx.appcompat.widget.AppCompatTextView而不是TextView。因此,小部件布局中没有AppCompat小部件。似乎Android Widget是如此有限。

答案 12 :(得分:0)

我也有同样的问题 -

我正在使用 android.support.constraint.ConstraintLayout 这就是为什么在删除它并更改为 LinearLayout “问题加载小部件”的原因>问题解决为@Gangnus saying,它仅适用于特定的视图。

答案 13 :(得分:0)

在我的情况下,错误是由更改的提供程序类名引起的。因此,如果您更改了Widget Provider类的名称,请尝试将其更改回来。此外,如果您更改了xml文件的名称(例如widget_info.xmlwidget_layout.xml),您可能也想要更改它们。

这只发生在用户更新的应用程序和" old"小部件当前可见。

答案 14 :(得分:0)

仅供记录。我有一个FrameLayout,里面有一个TextView,LinerLayout中的所有内容,都是我的widget的标题。最初我有这个

<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>

与大家一样,我有#34;问题加载小部件&#34;信息。解决方案是改变这个

    android:layout_height="?attr/actionBarSize"

为此:

    android:layout_height="64dp"

答案 15 :(得分:0)

在我的情况下,我有一个浮动textView超过其他视图。删除它并考虑使用不重叠的现有视图向用户显示我的信息的不同方式是解决方案。

所以不要与RelativeLayout重叠视图,我仍然使用它并且它可以工作,但视图不会尽可能重叠。

答案 16 :(得分:0)

我有同样的问题。问题已解决:我在小部件中使用了自定义视图在我的情况下,它是带有自定义字体的TextView。

答案 17 :(得分:0)

当我卸载笔记应用程序时遇到同样的问题,我尝试触摸并按住消息并显示删除菜单,我选择删除而不是消失。

答案 18 :(得分:0)

我有同样的问题但是logcat没有显示任何可疑的内容,既不是错误也不是警告。基本上,我正在调用一种错误的方法来改变textview text的颜色。