2016-05-02 2 views
0

У меня есть довольно странная проблема. Я использую Android Studio 2.1 на Ubuntu 15.10.«ClassNotFoundException: android.support.v7.widget.GridLayout», даже если он фактически импортирован

Я пытаюсь реализовать GridLayout из библиотек поддержки v7. Я установил Android Support Library и Android Support Repository из SDK Manager, и добавил 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 файл, он правильно autocompletes так же, как если бы он импортируется как следует.

<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 

Edit: Когда же просмотр GridLayout в области дизайна view, он даже делает это как должен (в моем случае 4 столбца и 4 строки). Но дает ошибку разбора класса GridLayout, которая не найдена и не отображает мое дерево компонентов других элементов.

Я пропустил какой-то шаг при добавлении библиотеки? Я использовал другие библиотеки поддержки v4 и v7 для Windows без каких-либо проблем. Это могут быть проблемы с разрешением Linux?

ответ

0

Решение задачи построения так просто (и несколько неловко), как делать проект под чистую Build -> Clean Project. Это решило мою проблему, касающуюся не создания приложения.

Теперь я также застрял в классе GridLayout, который не находится в режиме конструктора. Решение, которое я нашел, было недействительным для кэшей под File -> Invalidate Caches/Restart (Примечание: Это очистит вашу локальную историю в Android Studio). И после перезагрузки класс GridLayout был найден правильно.

0

Я пробовал ваш код, и он отлично работает.

В моем 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' 
0

Если вышеуказанная проблема не устранена, вы можете использовать RecyclerView с GridLayoutManager.

Смежные вопросы