Gridview v7支持较旧的api android.support.v7.widget.Gridlayout无法实现

Cra*_*ith 2 android android-support-library

我一直在尝试使用v7支持库在我的android项目中使用网格布局.我已经看到很多人遇到了我遇到的同样的问题,但他们所有的修复都不适合我.我已经更新了java.我已经更新了最新的支持库.我已将支持包添加到构建路径中.我已经尝试将gridview拖到视图上并允许eclipse导入包.没有这些工作.我继续android.support.v7.widget.GridLayout无法实例化.我甚至创建了一个测试项目,并从支持网格布局和相同的错误开始.有没有其他想法?这些是我寻求帮助的地方:

给出android.support.v7.widget.GridLayout错误的Eclipse无法实例化

IntelliJ和android.support.v7.widget.GridLayout

Eclipse和Android SL GridLayout无法一起工作 - "android.support.v7.widget.GridLayout无法实例化"

在许多其他....

这是我的activity_main.xml:

 <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.GridLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    app:alignmentMode="alignBounds"
    app:columnCount="6"
    app:columnOrderPreserved="false"
    app:useDefaultMargins="true" >

    <EditText
        android:id="@+id/total"
        app:layout_column="0"
        app:layout_columnSpan="6"
        app:layout_gravity="left"
        app:layout_row="0"
        android:clickable="false"
        android:ems="10"
        android:inputType="none|number"
        android:textAlignment="textEnd"
        android:width="500dp" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/Button8"
        app:layout_column="1"
        app:layout_row="1"
        android:background="@drawable/button_light_grey"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="numberButtonEventHandler"
        android:text="8" />

    <Button
        android:id="@+id/Button9"
        app:layout_column="2"
        app:layout_row="1"
        android:background="@drawable/button_light_grey"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="numberButtonEventHandler"
        android:text="9" />

    <Button
        android:id="@+id/Button4"
        app:layout_column="0"
        app:layout_row="2"
        android:background="@drawable/button_light_grey"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="numberButtonEventHandler"
        android:text="4" />

    <Button
        android:id="@+id/Button5"
        app:layout_column="1"
        app:layout_row="2"
        android:background="@drawable/button_light_grey"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="numberButtonEventHandler"
        android:text="5" />

    <Button
        android:id="@+id/Button6"
        app:layout_column="2"
        app:layout_row="2"
        android:background="@drawable/button_light_grey"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="numberButtonEventHandler"
        android:text="6" />

    <Button
        android:id="@+id/ButtonMultiply"
        app:layout_column="3"
        app:layout_row="2"
        android:background="@drawable/custom_button"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="Multiply"
        android:text="*"
        android:textColor="@color/light_grey" />

    <Button
        android:id="@+id/Button1"
        app:layout_column="0"
        app:layout_row="3"
        android:background="@drawable/button_light_grey"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="numberButtonEventHandler"
        android:text="1" />

    <Button
        android:id="@+id/Button2"
        app:layout_column="1"
        app:layout_row="3"
        android:background="@drawable/button_light_grey"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="numberButtonEventHandler"
        android:text="2" />

    <Button
        android:id="@+id/Button3"
        app:layout_column="2"
        app:layout_row="3"
        android:background="@drawable/button_light_grey"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="numberButtonEventHandler"
        android:text="3" />

    <Button
        android:id="@+id/ButtonMinus"
        app:layout_column="3"
        app:layout_row="3"

        android:background="@drawable/custom_button"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="Subtract"
        android:text="-"
        android:textColor="@color/light_grey" />

    <Button
        android:id="@+id/ButtonDivide"
        app:layout_column="3"
        app:layout_gravity="right"
        app:layout_row="1"
        app:layout_rowSpan="2"
        android:background="@drawable/custom_button"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="Divide"
        android:text="/"
        android:textColor="@color/light_grey" />

    <Button
        android:id="@+id/button0"
        app:layout_column="0"
        app:layout_columnSpan="2"
        app:layout_row="4"
        android:background="@drawable/button_light_grey"
        android:minHeight="20dp"
        android:minWidth="82dp"
        android:onClick="numberButtonEventHandler"
        android:text="0" />

    <Button
        android:id="@+id/buttonPoint"
        app:layout_column="2"
        app:layout_row="4"
        android:background="@drawable/button_light_grey"
        android:minHeight="20dip"
        android:minWidth="40dp"
        android:onClick="numberButtonEventHandler"
        android:text="."
        android:width="20dip" />

    <Button
        android:id="@+id/ButtonPlus"
        app:layout_column="3"
        app:layout_row="4"
        android:background="@drawable/custom_button"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="Add"
        android:text="+"
        android:textColor="@color/light_grey" />

    <Button
        android:id="@+id/ButtonEqueals"
        app:layout_column="4"
        app:layout_row="3"
        app:layout_rowSpan="2"
        android:background="@drawable/custom_button"
        android:height="40dp"
        android:minHeight="82dp"
        android:minWidth="20dp"
        android:onClick="Equeals"
        android:text="="
        android:textColor="@color/light_grey"
        android:width="40dp" />

    <Button
        android:id="@+id/Button7"
        app:layout_column="0"
        app:layout_row="1"
        android:background="@drawable/button_light_grey"
        android:minHeight="40dip"
        android:minWidth="40dip"
        android:onClick="numberButtonEventHandler"
        android:text="7" />



</android.support.v7.widget.GridLayout>
Run Code Online (Sandbox Code Playgroud)

这是项目树的一个片段,显示引用的库,依赖项和库都指向v7 gridlayout:New Edit,要求删除一个引用.

在此输入图像描述

这是我得到的确切例外:

java.lang.ClassNotFoundException: android.support.v7.gridlayout.R$dimen
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at android.support.v7.widget.GridLayout.<init>(GridLayout.java:255)
    at android.support.v7.widget.GridLayout.<init>(GridLayout.java:274)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.instantiateClass(ProjectCallback.java:422)
    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.loadView(ProjectCallback.java:179)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:135)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:372)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:385)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:332)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:325)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:440)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1545)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1302)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1059)
    at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:686)
    at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360)
    at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:292)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
    at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3028)
    at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1749)
    at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:278)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
Run Code Online (Sandbox Code Playgroud)

wag*_*aoo 7

我遇到了同样的问题,我通过导入".../android-sdks/extras/android/support/v7/gridlayout"作为"现有Android代码进入WorkSpace"来修复它.

它的项目名称是"android.support.v7.widget.GridLayout",它是一个库.然后你应该在项目/属性/ Android /库面板中"添加..."它作为库.然后它应该工作.希望这对你有所帮助.

下面是我的xml:

<ScrollView
    xmlns:grid="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="10dp" >

    <android.support.v7.widget.GridLayout
        android:id="@+id/gridlayout_home"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:paddingBottom="5dp"
        grid:columnCount="4"
        grid:rowCount="4" >
    </android.support.v7.widget.GridLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)