相关疑难解决方法(0)

主屏幕小部件,listView显示"正在加载"

首先,图像说千言万语:

在此输入图像描述

虽然getViewAt被称为4项,但是我的光标大小是这样的.

这是代码:

public class WidgetService extends RemoteViewsService {
    @Override
    public RemoteViewsFactory onGetViewFactory(Intent intent) {
        System.out.println("Factory");
        return(new WidgetViewsFactory(this.getApplicationContext(), intent));
    }
}
Run Code Online (Sandbox Code Playgroud)

小部件提供者:

public class WidgetViewsFactory implements RemoteViewsService.RemoteViewsFactory, LNTConstants
{   
    private Context context = null;

    ArrayList<DBItemModel> items;

    public WidgetViewsFactory(Context context, Intent intent) {
        this.context = context;

        Cursor c = Items.get(context, where);
        items = Items.getFromCursor(c);
    }

    @Override
    public void onCreate() {
        /*

        */
    }

    @Override
    public void onDestroy() {

    }

    @Override
    public int getCount() {
        if(items != null) {
            System.out.println("Count: " + …
Run Code Online (Sandbox Code Playgroud)

android homescreen android-widget

13
推荐指数
3
解决办法
4879
查看次数

使用ListView的Android小部件不会加载项目correclty

我正在尝试使用ListView为我的应用程序实现一个小部件.

为此,我逐步完成了以下所有链接:

  • 带有列表视图的Android应用小部件
  • 将App小部件与集合一起使用 - developer.android.com/guide/topics/appwidgets/index.html#collections
  • 在Android中的主屏幕小部件中填写ListView - stackoverflow.com/questions/14121602/filling-listview-in-homescreen-widget-in-android

但是,当我将小部件放在主屏幕上时,列表项的数量确实与我在数据库中的项目数相匹配,但每行的视图不会更新并继续显示"正在加载..."(如图所示)这个屏幕截图)

我不明白缺少什么.

非常感谢您的帮助!

这是我的AppWidgetProvider:

package com.appro.illbeback;

import com.appro.illbeback.R;
import com.appro.illbeback.data.CallsDataSrouce;

import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.widget.RemoteViews;

public class CallsAppWidgetProvider extends AppWidgetProvider {

    private CallsDataSrouce dataSource;

    @SuppressWarnings("deprecation")
    @Override
    public void onUpdate(Context context, AppWidgetManager
            appWidgetManager,int[] appWidgetIds) {

        dataSource = new CallsDataSrouce(context);
        dataSource.open();

        for (int i = 0; i < appWidgetIds.length; i++) {
            Intent serviceIntent = new Intent(context, WidgetService.class);
            serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetIds[i]);
            serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));

            // Which …
Run Code Online (Sandbox Code Playgroud)

android listview widget android-widget android-listview

10
推荐指数
2
解决办法
6577
查看次数