在 Android 中将视图转换为远程视图

问题描述 投票:0回答:2

是否可以将膨胀视图转换为远程视图?

View to RemoteViews

我希望创建视图并添加到仅接受 RemoteView 的通知

android view remoteview
2个回答
3
投票

不,你不能。它们实际上完全不同。

RemoteView
是您定义如何创建该
View
的位置。你不能直接给它,如果它丢失了,它现在应该如何创建它。

我在这里解释了非常相似的事情: https://stackoverflow.com/a/27701965/1016462


0
投票

正如@tasomaniac所说,这是不可能的,直接的。但是,您可以将任何(支持的)视图包装在

RemoteViews
中,然后将该子视图
RemoteViews
添加到父视图中。例如。假设您想将
TextView
添加到
RemoteViews
:

RemoteViews parent = ...;
RemoteViews childText = RemoteViews(pkg, R.layout.my_text_view)
childText.setTextViewText("Hello, remote views.");
parent.addView(R.id.my_text_id, childText);

它无法包裹(受支持的)

View
对象。事情不是这样的。当您致电时:

RemoteViews childText = RemoteViews(pkg, R.layout.my_text_view)

它不会夸大布局。它只存储 ID。以及

RemoteViews
构造函数中指定的包。当它被接收并应用于远程进程时,
RemoteViews
RemoteViews
中的包中获取布局,并在那里对其进行膨胀。

© www.soinside.com 2019 - 2024. All rights reserved.