我正在尝试创建一个小部件.我就像这里描述的那样:https://stackoverflow.com/a/6093753/2180161
它部分工作,但我有一个非常奇怪的错误.我做了一个截屏视频,所以更容易理解我的意思:http: //c.maysi.de/c6H9
如您所见,有一些项目是随机添加的.(RemoteViews已添加到另一个RemoteViews对象)
当我调整窗口小部件时,会发生同样的情况.
我在日志中打印的内容与预期的一样.没有错误的数据.滚动时也没有新的日志条目.
这是我的代码:
RemoteViewsFactory:
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class MyWidgetViewsFactory implements RemoteViewsService.RemoteViewsFactory {
private static ArrayList<Item> items = new ArrayList<>();
private static int itemnr = 0;
private static int subitemnr = 0;
private int appWidgetId;
private Context context;
public MyWidgetViewsFactory(Context context, Intent intent) {
this.context = context;
appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
//Some random data to display
for (int i = …Run Code Online (Sandbox Code Playgroud) android listview android-widget android-listview android-appwidget
我有一个应用程序小部件,我想添加视图(TextView等等),RemoteView但它永远不会出现.
这里是代码:
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
RemoteViews newView = new RemoteViews(context.getPackageName(), R.layout.widget_row_layout);
newView.setTextViewText(R.id.textUser, "1234");
views.addView(views.getLayoutId(), newView);
// Tell the AppWidgetManager to perform an update on the current App Widget
appWidgetManager.updateAppWidget(appWidgetId, views);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
这就是我最终做的事情:
RemoteViews newView = new RemoteViews(context.getPackageName(), R.layout.widget_row_layout);
newView.setTextViewText(R.id.textUser, "1234");
ComponentName thisWidget = new ComponentName(this,WidgetProvider.class);
AppWidgetManager manager = AppWidgetManager.getInstance(this);
manager.updateAppWidget(thisWidget, newView);
Run Code Online (Sandbox Code Playgroud) 我试图listview在小部件的帮助下制作动态remoteview,因为我想在小部件中使用这个listview应用程序图标.我想显示来自所有应用程序明智的应用程序的传入通知.我想创建常设通知列表,当用户点击列表视图中的应用程序图标时,将显示该特定通知.我正在使用API 19获取所有通知并且也成功但我不知道如何Listview在小部件中创建Remoteview和使用drawables(Icons).
我想在AppWidget中的早期版本的Android上使用ListView.
RagnarRs 在这个问题中的回答表明他通过支持库实现了这一点,但他没有解释他是如何做到的.
有人知道他在说什么吗?