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

Заполненная активность ADT, созданная с использованием фрагментов.

Я действительно запутался прямо сейчас, потому что всякий раз, когда я создаю новое приложение для Android с пустой активностью, он всегда появляется с фрагментатором. Я просто хотел создать пустое действие без фрагмента...

в первом изображении пустая активность идет с компоновкой фрагмента.

first image blank activity

второе изображение показывает созданный фрагмент_майн

second image blank activity

теперь я действительно смущен... это произошло только после обновления ADT до последней версии Я упомянул эту тему: qaru.site/info/152026/...

Я просто хотел сделать приложение для Android с пустой активностью без представления фрагмента...

4b9b3361

Ответ 1

Для тех, кто хотел бы узнать, как удалить фрагменты из проекта:

1) Скопируйте все содержимое res/layout/fragment_main.xml. Откройте activity_main.xml, удалите FrameLayout и вставьте скопированное содержимое.

2) Удалить fragment_main.xml

3) В MainActivity.java удалите весь класс PlaceHolderFragment:

/**
 * A placeholder fragment containing a simple view.
 */
public static class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                    Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main,
                    container, false);
        return rootView;
    }
}

4) Удалите следующие строки из onCreate():

if (savedInstanceState == null) {
    getSupportFragmentManager().beginTransaction()
            .add(R.id.container, new PlaceholderFragment()).commit();
}

На этом этапе вы должны быть настроены на запуск проекта.

Ответ 2

Вы можете использовать предыдущий шаблон, отредактировав файлы шаблонов в папке Android SDK. Но убедитесь, что у вас есть резервная копия папки "BlankActivity".

  • Перейдите к /templates/tools/templates/activities/BlankActivity

  • Найдите файл template.xml и найдите следующий фрагмент кода

     <parameter
      id="fragmentLayoutName"
      name="Fragment Layout Name"
      type="string"
      constraints="layout|unique|nonempty"
      suggest="fragment_${classToResource(activityClass)}"
      default="fragment_main"
      help="The name of the layout to create for the activity content fragment" />
    

и измените значение constraints на constraints="empty".

  • Найдите recipie.xml.ftl и найдите следующий фрагмент кода
    <instantiate from="res/layout/fragment_simple.xml.ftl" to="${escapeXmlAttribute(resOut)}/layout/${fragmentLayoutName}.xml" />
    и прокомментируйте всю строку.

  • Найдите файл SampleActivity.java.ftl внутри root/src/app_package и удалите эти две строки
    <#include "include_options_menu.java.ftl"> <#include "include_fragment.java.ftl">

  • Найдите fragment_simple.xml.ftl и файл activity_fragment_container.xml.ftl внутри root/res/layout. Скопируйте содержимое файла fragment_simple.xml.ftl в файл activity_fragment_container.xml.ftl.

Теперь, когда вы пытаетесь создать новое действие, вы получите этот экран new activity without fragment

Вы можете оставить поле Fragment Layout Name пустым.

Это отлично работает для меня в случае пустой активности. Я не уверен, что это правильный подход, с отбрасыванием фрагментов и всего, но это работает для меня.

Ответ 3

Это новая функция ADT версии 22.6.0: http://developer.android.com/tools/sdk/eclipse-adt.html

Изменить. С последними обновлениями ADT появился новый шаблон "Empty Activity", который не имеет фрагментов. это простой класс, который расширяет Activity (даже без меню по умолчанию).

Обратите внимание, что существует также "Пустое действие", которое расширяет ActionBarActivity и имеет фрагменты

Ответ 4

Спасибо человеку, который сообщил об этом, https://code.google.com/p/android/issues/detail?id=67513

Это был мой первый взгляд на android-review.googlesource.com. Копая вокруг, я не видел способа загрузить набор патчей, который был собран вместе, и я не знаю, как "вишневый выбор" tools_r22.6, если есть поток, который объясняет, что ссылка будет оценена.

Вот как я пошла по этому поводу.

На вашем компьютере перейдите в папку SDK, затем \tools\templates\activities

Скопируйте папку BlankActivities и вставьте ее в тот же каталог.

Переименуйте BlankActivities_copy в EmptyActivities

Перейдите в https://android-review.googlesource.com/#/c/88890/4

В разделе "Файлы" есть список ссылок. Каждая ссылка направляет вас в xml, который необходимо добавить в новую папку EmptyActivities, которую вы создали.

Скопируйте xml с правой панели в файл path\в верхней части левой панели (ссылка также является контуром). Если файл уже существует, удалите содержимое и замените его. Если файл не существует, создайте его и скопируйте xml в файл.

Повторите для каждой из ссылок.

Закройте и снова закройте Eclipse. Если у вас есть какие-либо файлы, открытые в редакторе, Eclipse выйдет из строя.

Спасибо Josiah Gaskin за google с невероятным 2-дневным переворотом!

Никакая учебная литература не ссылается на фрагменты в BlankActivity. Я уверен, что это исправление спасло меня бесчисленное количество часов, пытаясь выяснить, как перемещаться по фрагментам, пытаясь изучить новую среду IDE. Еще раз спасибо.

Ответ 5

Если вы загрузите последний ADT 22.6.3 (с помощью инструментов сборки 19.0.3), у вас будет возможность создать новый Empty Activity, который не использует фрагменты

Ответ 6

Я также столкнулся с той же проблемой. Я просто удалил eclipse и снова загрузил пакет ADT из http://developer.android.com/sdk/index.html#download Чтобы восстановить предыдущие проекты, просто измените рабочее пространство на предыдущее. Это сработало для меня.

Ответ 7

Если вы не хотите, чтобы часть фрагмента находилась в вашем приложении, просто отмените настройку активности создания в мастере настройки проекта, затем вручную создайте активность и макет "для вашего проекта.

Ответ 8

Решением этого является копия более старой "Пустоты" в %Wherever your ADT bundle is%\sdk\tools\templates\activities\.

Если у кого-то есть более старая версия, вы можете переименовать его, поместить его здесь %Wherever your ADT bundle is%\sdk\tools\templates\activities\, а затем при запуске вашего проекта выберите эту папку вместо "Пустое действие", поэтому, если у вас есть копия, поделитесь ею.

Ответ 9

Мы нашли решение этого:

При создании проекта выберите "пустую" активность. Затем он создает класс MainActivity, который расширяет Activity и макет activity_main.xml.

Другими словами, он дает вам поведение, которое было там раньше.

Это работало в ADT 22.6.3.

Ответ 10

При создании нового приложения, просто скопируйте имя макета в имя макета фрагмента (например, activity_main)

Вуаля!!! Вы получаете активность без фрагмента.

Удалите эту часть кода из действия:

if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment())
                .commit();

Очистите проект.

Ответ 11

Пустое действие действительно должно быть более простым, чем это. Похоже, что исправление в настоящее время ожидает: https://code.google.com/p/android/issues/detail?id=67513&q=blank%20activity&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

Вы можете пропустить параметр создания активности при создании проекта и вручную добавить его.

Если вы находите это действительно очень раздражающим, вы можете попробовать откат ADT и SDK:

Загрузите инструменты 22.3 sdk из: dl-ssl.google.com/android/repository/##Вашей версии платформы sdk здесь ##

Например, osx - tools_r22.3-macosx.zip

Распаковка этого файла даст вам папку под названием "инструменты". Используйте это, чтобы заменить папку с тем же именем, что и в /path -to-your-android-installation/android-sdk-macosx/

Затем вам нужно удалить плагин eclipse adt. Перейти к справочной системе → установить новое программное обеспечение Нажмите ссылку, чтобы узнать, что уже установлено. Выберите все пакеты android и нажмите "Удалить". Перезапустить Eclipse

Загрузите плагин 22.3 ADT из: http://dl.google.com/android/ADT-22.3.0.zip Разархивируйте этот файл

Назад в eclipse нажмите "Справка" → установите новое программное обеспечение. Нажмите "Добавить" и выберите локальный файл, который вы только что расстегнули. Проверьте, что вы хотите установить, и нажмите "Добавить снова перезапустить eclipse".

Ответ 12

Я сделал это, заменив папку BlankActivity (22.6.2) на старый sdk BlankActivity (22.6.1), присутствующий в каталоге tools/templates в android-sdk.

Ответ 13

Не уверен, что это работает полностью, меры 1) Щелкните правой кнопкой мыши по вашему проекту свойства goto- > Android, удалите справочную библиотеку и нажмите "Применить". теперь вы увидите ошибки в своем проекте, перейдите в res- > values- > styles, замените родительский элемент AppBasetheme родителем = "android: Theme.Light" сделайте это для всех папок значений, кроме значений values_v14, установите parent = "android: Theme.Holo.Light.DarkActionBar"

2) Теперь goto MainActivity заменит "extends ActionBarActivity" на "extends Activity". Eclipse предложит вам импортировать для этого действия.

теперь удалите эту часть кода

public static class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container,
                false);
        return rootView;
    }
}

из класса активности

if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }

Теперь удалите все неиспользуемые импорты.

3) Наберите res- > Layouts- > fragment.xml, скопируйте код фрагмента в activity_main.xml. Удалить фрагмент .xml.

Теперь goto main.xml Замените это

    <item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="never"/>

по

    <item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    android:showAsAction="never"/>

4) Теперь нажмите "Проект" и очистите проект

Ответ 14

Для небольших проектов создайте проект без активности и добавьте/отредактируйте действия, макеты и манифест вручную.

Ответ 15

Android услышал наш голос:).

Просто обновите или download Версия ADT до 23.0.2 или новее.

Теперь вы можете выбрать пустое действие, подобное этому,

enter image description here