web-dev-qa-db-fra.com

Activité vide ADT créée avec une activité de fragment.

je suis vraiment confus en ce moment parce que chaque fois que je crée une nouvelle Android avec une activité vide, elle sort toujours avec fragment_main.xml .. je voulais juste créer une activité vide sans celle du fragment .. .

dans la première image, l'activité vierge est fournie avec la disposition des fragments.

first image blank activity

la deuxième image montre le fragment_main créé

second image blank activity

maintenant je suis vraiment confus ... cela ne s'est produit qu'après la mise à jour d'ADT vers la dernière version, j'ai fait référence à ce fil: https://stackoverflow.com/questions/22203862/adt-doesnt-create-default-hello -world-but-command-line-does # =

je voulais juste faire une Android avec une activité vide sans vue de fragment ...

35
Christian Burgos

Pour ceux qui souhaitent obtenir des instructions sur la façon de supprimer des fragments du projet:

1) Copiez tout le contenu de res/layout/fragment_main.xml. Ouvrez activity_main.xml, supprimez le FrameLayout et collez le contenu copié.

2) Supprimer fragment_main.xml

3) Dans MainActivity.Java, supprimez toute la classe 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) Supprimez les lignes suivantes de onCreate ():

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

À ce stade, vous devez être prêt à exécuter le projet.

27
Ben Jakuben

Vous pouvez utiliser le modèle précédent en modifiant les fichiers de modèle dans le dossier Android SDK. Mais, assurez-vous que vous avez une sauvegarde du dossier "BlankActivity".

  • Allez dans / templates/tools/templates/activities/BlankActivity

  • Recherchez le fichier template.xml et recherchez le code suivant

     <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's content fragment" />
    

et changez le constraints en constraints="empty".

  • Localisez recipie.xml.ftl et localisez le morceau de code suivant
    <instantiate from="res/layout/fragment_simple.xml.ftl" to="${escapeXmlAttribute(resOut)}/layout/${fragmentLayoutName}.xml" />
    et commentez toute la ligne.

  • Localisez SampleActivity.Java.ftl fichier à l'intérieur root/src/app_package et supprimez ces deux lignes
    <#include "include_options_menu.Java.ftl"> <#include "include_fragment.Java.ftl">

  • Localisez fragment_simple.xml.ftl et activity_fragment_container.xml.ftl fichier à l'intérieur root/res/layout. Copiez le contenu du fichier fragment_simple.xml.ftl vers activity_fragment_container.xml.ftl.

Maintenant, lorsque vous essayez de créer une nouvelle activité, vous obtiendrez cet écran new activity without fragment

Vous pouvez laisser le champ Fragment Layout Name vierge.

Cela fonctionne bien pour moi dans le cas d'une activité vierge. Je ne sais pas si c'est la bonne approche, avec des fragments de rejet et tout, mais cela fonctionne pour moi.

7
saran

Il s'agit d'une nouvelle fonctionnalité de la version 22.6.0 d'ADT: http://developer.Android.com/tools/sdk/Eclipse-adt.html

Modifier : Avec les dernières mises à jour d'ADT, il existe un nouveau modèle appelé "Activité vide" qui n'a pas de fragments. c'est une classe simple qui étend Activity (même sans le menu par défaut).

Notez qu'il existe également une "activité vide" qui étend ActionBarActivity et a des fragments

6
Muzikant

Merci à la personne qui a signalé cela, https://code.google.com/p/Android/issues/detail?id=6751

C'était mon premier aperçu d'Android-review.googlesource.com. En fouillant, je n'ai pas vu de moyen de télécharger le jeu de correctifs qui a été mis en place et je ne sais pas comment "choisir" tools_r22.6, S'il y a un fil qui l'explique, un lien serait apprécié.

Voici comment je l'ai fait.

Sur votre machine, accédez à votre dossier SDK puis\tools\templates\activities

Copiez le dossier BlankActivities et collez-le dans le même répertoire.

Renommez BlankActivities_copy en EmptyActivities

Allez sur https://Android-review.googlesource.com/#/c/88890/4

Sous la section Fichiers, il y a une liste de liens. Chaque lien vous dirige vers le xml qui doit être ajouté au nouveau dossier EmptyActivities que vous avez créé.

Copiez le xml du volet droit dans le fichier path\en haut du volet gauche (le lien était également le chemin). Si le fichier existe déjà, supprimez le contenu et remplacez-le. Si le fichier n'existe pas, créez-le et copiez le xml dans le fichier.

Répétez l'opération pour chacun des liens.

Fermez et rouvrez Eclipse. Si l'un des fichiers est ouvert dans un éditeur, Eclipse se bloque.

Merci à Josiah Gaskin chez google pour l'incroyable délai de 2 jours!

Aucune documentation de formation ne fait référence aux fragments de la BlankActivity. Je suis sûr que ce correctif m'a fait gagner d'innombrables heures à essayer de comprendre comment naviguer dans les fragments tout en essayant d'apprendre un nouvel IDE. Merci encore.

5
Chris

Si vous téléchargez la dernière ADT 22.6.3 (avec les outils de compilation 19.0.3), vous aurez la possibilité de créer un nouveau Activity vide qui n'utilisera pas de fragments

4
EyalBellisha

Si vous ne voulez pas que la partie du fragment soit dans votre application, il vous suffit de "décocher l'option créer une activité dans l'assistant de configuration de projet, puis créer manuellement l'activité et la mise en page" pour votre projet.

3
Shubham Naik

Une solution à ce problème est une copie de l'ancienne "activité vierge" dans %Wherever your ADT bundle is%\sdk\tools\templates\activities\.

Si quelqu'un en a une ancienne version, vous pouvez la renommer, placez-la ici %Wherever your ADT bundle is%\sdk\tools\templates\activities\ puis au démarrage de votre projet, sélectionnez ce dossier au lieu de "Blank Activity", donc si vous en avez une copie, partagez-la.

3
user3459475

Nous avons trouvé une solution à cela:

Lorsque vous créez un projet, sélectionnez l'activité "vide". Ensuite, il crée une classe MainActivity qui étend l'activité et une disposition activity_main.xml.

En d'autres termes, cela vous donne le comportement qui existait auparavant.

Cela a fonctionné dans ADT 22.6.3.

3
Walker Rowe

J'ai également rencontré le même problème. Je viens de supprimer l'Eclipse et j'ai à nouveau téléchargé le bundle ADT depuis http://developer.Android.com/sdk/index.html#download Pour récupérer vos projets précédents, changez simplement l'espace de travail en votre le précédent. Cela a fonctionné pour moi.

3
Sravani

Lors de la création d'une nouvelle application, copiez simplement le nom de la mise en page dans le nom de la mise en page du fragment (par exemple, activity_main)

Voila !!! Vous obtenez une activité sans la partie fragment.

Supprimez cette partie du code de l'activité:

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

Nettoyez le projet.

2
Rashid

Je ne sais pas si cela fonctionne complètement, étapes 1) Faites un clic droit sur les propriétés de votre projet -> Android, supprimez la bibliothèque de référence et appuyez sur Appliquer. maintenant, vous verriez des erreurs dans votre projet aller à res-> values-> styles, remplacer le parent d'AppBasetheme par parent = "Android: Theme.Light" faire ceci pour toutes les valeurs dossier sauf dans values_v14 là mettre parent = "Android: Theme.Holo .Light.DarkActionBar "

2) Maintenant, passez à MainActivity remplacer "étend ActionBarActivity" par "étend Activité". Eclipse vous invitera à importer pour l'activité.

maintenant supprimez cette partie du code

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;
    }
}

de la classe d'activité

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

Supprimez maintenant toutes les importations inutilisées.

3) Allez res-> Layouts-> fragment.xml, copiez le code du fragment dans activity_main.xml. Supprimez fragment.xml.

Maintenant goto main.xml Remplacez ceci

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

par

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

4) Maintenant, cliquez sur Projet et nettoyez votre projet

1
Gaurav Pangam

Android a entendu notre voix :).

Il suffit de mettre à niveau ou télécharger la version ADT vers 23.0.2 ou supérieure.

Vous pouvez maintenant choisir une activité vierge comme celle-ci,

enter image description here

1
Burak

Pour les petits projets, créez un projet sans activité et ajoutez/modifiez des activités, des mises en page et manifestez manuellement.

1
antrunner

Je l'ai fait en remplaçant le dossier BlankActivity (22.6.2) par l'ancien sdk BlankActivity (22.6.1) présent dans le répertoire tools/templates dans Android-sdk.

1
Hari_krish4

Une activité vierge devrait vraiment être plus simple que cela. Il semble qu'un correctif soit actuellement en attente: https://code.google.com/p/Android/issues/detail?id=67513&q=blank%20activity&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

Vous pouvez ignorer l'option de création d'activité lorsque vous créez votre projet et ajoutez une activité manuellement.

Si vous trouvez cela vraiment très ennuyeux, vous pouvez essayer de restaurer ADT et le SDK:

Téléchargez les outils 22.3 sdk sur: dl-ssl.google.com/Android/repository/##Votre version du sdk sur votre plateforme ici ##

Par exemple, osx est tools_r22.3-macosx.Zip

Décompresser ce fichier vous donnera un dossier appelé "tools" Utilisez-le pour remplacer le dossier du même nom trouvé dans/chemin-vers-votre-installation-Android/Android-sdk-macosx /

Vous devez ensuite désinstaller votre plugin Eclipse adt. Allez à l'aide -> installer un nouveau logiciel Cliquez sur le lien pour voir ce qui est déjà installé Sélectionnez tous les packages Android et cliquez sur désinstaller. Redémarrez Eclipse

Téléchargez le plugin 22.3 ADT à partir de: http://dl.google.com/Android/ADT-22.3.0.Zip Décompressez ce fichier

De retour dans Eclipse, cliquez sur aide -> installer un nouveau logiciel Cliquez sur ajouter et sélectionnez le fichier local que vous venez de décompresser Vérifiez ce que vous souhaitez installer et cliquez sur installer Redémarrez Eclipse à nouveau

1
Greg Prevost