android.support.v7.widget.GridLayout无法实例化

时间:2013-09-30 22:22:50

标签: android android-layout compatibility xml-namespaces grid-layout

这几个小时一直在努力,不知道为什么我不能得到该死的东西来编译。当我尝试包含android.support.v7.widget.GridLayout时,我在预览窗口中看到以下错误:

Rendering Problems The following classes could not be instantiated:
- android.support.v7.widget.GridLayout (Open Class, Show Exception)
 Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE  Exception Details java.lang.ClassNotFoundException:                 
android.support.v7.gridlayout.R$dimen   at          
java.net.URLClassLoader$1.run(URLClassLoader.java:202)   at 
java.security.AccessController.doPrivileged(AccessController.java:-2)   at         
java.net.URLClassLoader.findClass(URLClassLoader.java:190)   at 
java.lang.ClassLoader.loadClass(ClassLoader.java:306)   at 
java.lang.ClassLoader.loadClass(ClassLoader.java:247)   at 
android.support.v7.widget.GridLayout.<init>(GridLayout.java:255)   at 
android.support.v7.widget.GridLayout.<init>(GridLayout.java:274)   at 
java.lang.reflect.Constructor.newInstance(Constructor.java:513)   at     
android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)   at 
android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   at 
android.view.LayoutInflater.rInflate(LayoutInflater.java:727)   at 
android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:758)   at 
android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   at 
android.view.LayoutInflater.rInflate(LayoutInflater.java:727)   at 
android.view.LayoutInflater.inflate(LayoutInflater.java:492)   at 
android.view.LayoutInflater.inflate(LayoutInflater.java:373)

当我尝试编译时,我尝试使用该表单的每个GridLayout属性都会出现一些错误:

view_edit_profile.xml:26: error: No resource identifier found for attribute 'orientation' in package 'com.company'

我已将SDK(/ extras / android / support / v7 / gridlayout)中的gridlayout模块复制到与我的主项目模块相同的顶级目录中。我已将gridlayout模块设置为主模块的模块依赖项,并将android-support-v7-gridlayout.jar添加为项目库。

任何建议表示赞赏!

更新(发布xml):

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res/com.company"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/transparent"
        android:paddingTop="@dimen/abs__action_bar_default_height"
        android:paddingLeft="@dimen/margin_med"
        android:paddingRight="@dimen/margin_med"
        android:id="@+id/scrollView">

<LinearLayout
    android:id="@+id/linearLayout_edit_profile"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:descendantFocusability="beforeDescendants"
    android:focusableInTouchMode="true"
    android:paddingBottom="@dimen/padding_med">

    <android.support.v7.widget.GridLayout
        xmlns:grid="http://schemas.android.com/apk/res-auto"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/gridLayout_pics"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        grid:orientation="horizontal"
        grid:columnCount="3"
        grid:rowCount="3"
        grid:useDefaultMargins="true">

2 个答案:

答案 0 :(得分:0)

您使用的是什么IDE或构建环境?通常,您需要将支持lib JAR文件放在项目的libs /子目录中,并将其添加到构建环境的类路径中。

答案 1 :(得分:0)

上面发布的解决方案,关键是为GridLayout属性设置单独的xmlns(xmlns:grid)。但是,由于某些原因,在我重新启动机器之前这种情况不起作用。是的Android。