簡體   English   中英

“ ClassNotFoundException:android.support.v7.widget.GridLayout”,即使實際上已導入

[英]“ClassNotFoundException: android.support.v7.widget.GridLayout” even if it is actually imported

我有一個奇怪的問題。 我在Ubuntu 15.10上使用Android Studio 2.1。

我正在嘗試從v7支持庫中實現GridLayout 我從SDK Manager安裝了Android Support LibraryAndroid Support Repository ,並將gridlayout添加到我的應用程序build.gradle依賴項中:

compile 'com.android.support:design:23.3.0'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:gridlayout-v7:23.3.0'

將其添加到我的布局XML文件時,它會正確自動完成,就像它應該導入一樣。

<android.support.v7.widget.GridLayout xmlns:app="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:columnCount="4"
            app:rowCount="4"
            android:id="@+id/keypadButtons"
            app:alignmentMode="alignBounds">
...

但是,當我去構建項目以查看設備上的外觀時,由於某種原因它失敗了。

當我想在“設計”視圖中檢出它時,我發現事件日志中有一個解析錯誤,指出:

java.lang.RuntimeException: java.lang.ClassNotFoundException: android.support.v7.widget.GridLayout

編輯:在“設計”視圖中查看GridLayout時,它甚至按原樣呈現(在我的情況下為4列4行)。 但是給出了未找到的GridLayout類的解析錯誤,並且無法顯示我的其他元素的組件樹。

添加庫時是否錯過了某些步驟? 我在Windows上使用了其他v4和v7支持庫,沒有任何問題。 可能是Linux權限問題嗎?

我已經嘗試過您的代碼,並且效果很好。

在我的gradle文件中,我有:

android {
  compileSdkVersion 23
  buildToolsVersion "23.0.3"

...

defaultConfig {
     minSdkVersion 19
     targetSdkVersion 23
...


dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  testCompile 'junit:junit:4.12'
  compile 'com.android.support:appcompat-v7:23.3.0'
  compile 'com.android.support:design:23.3.0'
  compile 'com.android.support:gridlayout-v7:23.3.0'

解決構建問題的方法就像在Build -> Clean ProjectBuild -> Clean Project一樣簡單(且有些尷尬)。 這解決了我關於應用程序無法構建的問題。

現在,我也陷入了在“設計”視圖中找不到GridLayout類的困境。 我發現的解決方案是使“ File -> Invalidate Caches / Restart使緩存File -> Invalidate Caches / Restart下的緩存File -> Invalidate Caches / Restart注意 :這將清除您在Android Studio中的本地歷史記錄)。 並在重新啟動后,正確找到GridLayout類。

如果上述問題仍然存在,則可以將RecyclerViewGridLayoutManager

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM