无法在Android Studio布局编辑器中显示自定义视图

3
我正在努力让我的自定义视图在Android Studio的布局编辑器中显示。
我的视图是RecyclerView的简单子类,具有自定义参数。 我使用View.isInEditMode()仅在实际运行应用程序时使用给定的 attrs
public class CustomRecyclerView extends RecyclerView {

    public CustomRecyclerView(Context context, AttributeSet attrs) {
        super(context, attrs);
        if (isInEditMode()) {
            return;
        }

        final TypedArray styledAttributes = context.getTheme().obtainStyledAttributes(attrs, R.styleable.CustomRecyclerView, 0, 0);
        /* ... */
}

然而,预览包含此视图的布局会导致空白的预览窗格(甚至没有手机框架):

preview with custom view

如果我用RecyclerView替换我的View,预览将按预期工作:

preview with default view

我不知道在这里该怎么做:如果RecyclerView正确显示,并且在我的子类构造函数中只调用super()并返回如果isInEditMode为真,则什么可能解释我的视图未显示?

我该怎么做才能在Android Studio的布局编辑器中显示自定义视图?


你尝试重新构建你的项目了吗? - karan
我尝试了几次重新构建无效缓存并重启,但问题仍然存在。 - PLNech
你使用isInEditMode吗?在LayoutEditor中是否有异常? - Michael Spitsin
@MichaelSpitsin:是的,我确实使用了isInEditMode,就像我之前在代码示例中解释过的那样,并且在插图之后再次提到。在LayoutEditor中我没有任何异常。 - PLNech
就我而言,当我使用isInEditMode时,遇到了类似的问题,当我将其移除后,所有内容都变得可见。 - Michael Spitsin
实际上,使用最新版本的Android Studio重新打开此项目确实成功地在预览窗格中显示了UI,因此我只能猜测这是IDE中的一个错误,并且已经被修复。 - PLNech
2个回答

0

为解决此问题,请使用较低

API 级别如 26

然后重新构建项目。


请问您能否提供更多关于您回答的上下文信息? - Jim

0

截至今天,使用Android Studio 2.1.2打开同一项目可以在预览窗格中成功显示UI。我只能猜测这是IDE中的一个错误,并且自从我提出这个问题以来已经被修复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接