Подтвердить что ты не робот

Настройка пакета поддержки Android v7 для eclipse - GridLayout

Я пробовал весь этот вечер безрезультатно, поэтому я собираюсь перечислять свои точные шаги, начиная с нуля.

  • Я установил пакет поддержки через диспетчер SDK.
  • Я создаю новый проект Android, который я называю "testinggridlayout".
  • Цель сборки, которую я выбираю, - это Android 2.1 API 7.
  • Элемент списка

Это будет мой проект, который я хочу, чтобы создать сетку   расположение на.


Чтобы настроить пакет поддержки, выполните следующие действия:

  • Щелкните правой кнопкой мыши проект, который я только что создал, и выберите - Создать - Android Project
  • Назовите его GridLayout и выберите создать проект из существующего источника и найдите:

Android-SDKs\Extras\Android\поддержка\v7\GridLayout

  • Щелкните правой кнопкой мыши мой проект testinggridlayout и нажмите свойства:
  • в разделе "Путь сборки Java" - выберите вкладку "Проекты", затем "Добавить".
  • выберите мой проект "GridLayout" и нажмите "ОК", затем "ОК".

В этот момент

Если я перейду в макет main.xml, вручную вставьте этот код:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<GridLayout
    android:background="#FFFFFF"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:columnCount="8"
    android:rowCount="5" >

</GridLayout>

</LinearLayout>

Я получаю сообщение об ошибке:

Не удалось найти следующие классы: - GridLayout (исправить сборку путь, редактировать XML).

Если я изменю

<GridLayout> & </GridLayout>
к
<android.support.v7.widget.GridLayout> & </android.support.v7.widget.Gridlayout>

Я получаю ту же ошибку:

Следующие классы не найдены: - android.support.v7.widget.GridLayout(исправить путь сборки, редактировать XML).

В этот момент я создал папку в моем проекте под названием "libs".

Затем я скопировал файл android-support-v7-GridLayout.jar под libs в проекте GridLayout в эту папку.

Я щелкнул правой кнопкой мыши этот файл в папке "libs" в "testinggridlayout" и выбрал "Add to Build Path".

Моя ошибка затем изменилась на:

Следующие классы не могут быть созданы: - android.support.v7.widget.GridLayout(открыть класс, показать журнал ошибок)

Какой бит я пропустил/не должен был делать?

4b9b3361

Ответ 1

Я использую intellij идею, так что это не совсем ваше дело, но, возможно, это будет полезно. Я изо всех сил пытался настроить это на целый день, и это внезапно сработало. Я опишу свою настройку, чтобы вы могли сравнить:

  • настроить проект GridLayout как проект библиотеки. Пример настройки можно найти на сайте разработчика android здесь
  • настройте свой основной проект, как обычно, обратитесь к проекту библиотеки, как описано в ссылке выше.
  • добавьте библиотеки в ваш основной проект. Я использовал последние android-support-v13.jar и android-support-v7-gridlayout.jar. ПРИМЕЧАНИЕ. Я использовал библиотеку поддержки v7 в проекте main, а не в проекте библиотеки. Фактически, проверяя его сейчас - в проекте библиотеки я не ссылаюсь на поддержку v7.
  • Использовать полное имя пакета в файле макета: <android.support.v7.widget.GridLayout /> вместо <GridLayout />
  • используйте собственное пространство имен, например: xmlns:grid="http://schemas.android.com/apk/res-auto" в вашем файле макета, чтобы использовать пользовательские атрибуты, определенные в проекте библиотеки в вашем теге, например grid:columnCount

надеюсь, что это поможет. Я сейчас пытаюсь это сделать, даже не уверен, что это то, что мне нужно:)

Ответ 2

Если у кого-то есть такая же проблема, вот решение, которое сработало для меня:

После импорта проекта в рабочую область вам нужно добавить его как зависимость с помощью вкладки Android, а не Java Build Path

Проект → Свойства → Android → Библиотека → [Добавить...]

Я также отметил "Библиотека".

Ответ 3

Скопируйте android-support-v7-gridlayout.jar из папки Android_SDK_folder\extras\android\support\v7\gridlayout\libs. Затем вставьте его в папку проекта MyAndroidProject\libs.

Ответ 4

В версии 7 поддержки-v7-gridlayout.jar появились некоторые проблемы. Теперь он был обновлен до версии 8, см. В библиотеке совместимости. Просто обновите ее, и она будет работать. Не забудьте изменить пакет поддержки для всей вашей библиотеки и зависимостей, или вы получили ошибку несоответствия.

Ответ 5

Измените проект (и проект библиотеки).classpath, например:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

Ответ 6

В дополнение к приведенным выше предложениям мне пришлось сделать еще одну вещь, прежде чем я смог просмотреть макет сетки в Eclipse:

  • Щелкните правой кнопкой мыши проект android-support-v7-gridlayout.
  • Перейдите в меню "Свойства" > "Путь сборки Java" > "Библиотеки"
  • Добавить библиотеки libs/android-v7-gridlayout.jar в библиотеки.
  • Перейдите в раздел "Заказ и экспорт" и проверьте банку, добавленную на предыдущем шаге.

Надеюсь, что это поможет!

Ответ 7

Чтобы сделать 7v Samples (/extras/android/support/samples/Support7Demos/), выполните следующие действия:

  • Импортировать все проекты из здесь /extras/android/support/v 7
  • Создать каталог /libs для проекта Support7Demos
  • Поместите все *.jar файлы в каталог /libs этих проектов и добавьте их в Support7Demos/libs