Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] public class

Sujet résolu
    1 décembre 2015 à 11:21:29

    Peut on avoir plusieur public classe dans un même fichier java ? 

    Jai des fragement pour faire un slide 

    Et depuis que je les ai fait mes bouton ne font plus les action programer pk ? 

    • Partager sur Facebook
    • Partager sur Twitter
      1 décembre 2015 à 15:39:00

      remierard a écrit:

      Peut on avoir plusieur public classe dans un même fichier java ?

      Bien sûr !

      C'est ce qu'on appelle des inner class :

      public final class A
      {
        public static final class B
        {
            public static final class C
            {
      
            }
        }
        public static final class D
        {
      
        }
      }
      

      Les inner class ne doivent pas nécessairement être static mais c'est conseillé sur si ta classe A hérite d'une Activity ou d'un Fragment. Ca évite les potentielles fuites mémoires.

      • Partager sur Facebook
      • Partager sur Twitter
        1 décembre 2015 à 20:40:07

        et est-ce que je peu y mettre les extends  ?

        psk pour le premier j'ai mis un extends fragment 

        et le 2 e en extends AppCompatActivity

        • Partager sur Facebook
        • Partager sur Twitter
          1 décembre 2015 à 20:40:28

          mais jai toujour une ereur sur le second

          • Partager sur Facebook
          • Partager sur Twitter
            1 décembre 2015 à 21:47:38

            Montre nous ton code et le message d'erreur ;)

            • Partager sur Facebook
            • Partager sur Twitter
              2 décembre 2015 à 14:43:12

              package com.grt.gazettert;
              
              import android.os.Bundle;
              import android.support.v4.app.Fragment;
              import android.support.v7.app.AppCompatActivity;
              import android.view.LayoutInflater;
              import android.view.View;
              import android.view.ViewGroup;
              import android.widget.ImageButton;
              import android.widget.Toast;
              import android.support.v4.view.PagerAdapter;
              import android.support.v4.view.ViewPager;
              import android.support.v7.widget.Toolbar;
              import android.view.Menu;
              import android.view.MenuItem;
              import android.view.View.OnClickListener;
              import android.R;
              import android.support.v4.view.PagerAdapter;
              import android.support.v4.view.ViewPager;
              import android.support.v7.app.AppCompatActivity;
              import android.support.v7.widget.Toolbar;
              import android.view.Menu;
              import android.view.MenuItem;
              import android.view.View.OnClickListener;
              
              
              
              public class Numeros extends Fragment {
              
                  @Override
                  public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                           Bundle savedInstanceState) {
                      return inflater.inflate(com.grt.gazettert.R.layout.numeros, container, false);
                  }
              
              
                  class Numeros extends AppCompatActivity {
              
                      @Override
                      public void onCreate(Bundle savedInstanceState) {
                          super.onCreate(savedInstanceState);
                          setContentView(com.grt.gazettert.R.layout.numeros);
              
                          final ImageButton instButton = (ImageButton) findViewById(com.grt.gazettert.R.id.imageButton);
                          instButton.setOnClickListener(new View.OnClickListener() {
              
              
                              public void onClick(View v) {
                                  Action_1(v);
                              }
                          });
              
              
                          final ImageButton instButton2 = (ImageButton) findViewById(com.grt.gazettert.R.id.imageButton2);
                          instButton2.setOnClickListener(new View.OnClickListener() {
              
                              @Override
                              public void onClick(View v) {
                                  Action_2(v);
                              }
                          });
              
              
                          final ImageButton instButton3 = (ImageButton) findViewById(com.grt.gazettert.R.id.imageButton3);
                          instButton3.setOnClickListener(new View.OnClickListener() {
              
                              @Override
                              public void onClick(View v) {
                                  Action_3(v);
                              }
                          });
              
                      }
              
              
              
                      public void Action_1(View v){
                          Toast.makeText(Numeros.this, "Gazette RT 1", Toast.LENGTH_SHORT).show();
                      }
              
                      public void Action_2(View v){
                          Toast.makeText(Numeros.this, "Gazette RT 2", Toast.LENGTH_SHORT).show();
                      }
              
                      public void Action_3(View v){
                          Toast.makeText(Numeros.this, "Gazette RT 3", Toast.LENGTH_SHORT).show();
                      }
              
                  }
              
              }

              Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
              > Compilation failed; see the compiler error output for details.
              Error:(37, 5) error: class Numeros is already defined in package com.grt.gazettert
              • Partager sur Facebook
              • Partager sur Twitter
                2 décembre 2015 à 14:43:39

                voila le code java pour cette partie de l'application

                • Partager sur Facebook
                • Partager sur Twitter
                  2 décembre 2015 à 18:22:54

                  Tu as 2 classes qui portent le même nom. Le message est assez explicite :)

                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 décembre 2015 à 21:06:23

                    que je suis bete

                    merci beaucoup 

                    c'est ma première grosse appli :/

                    encore merci

                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 décembre 2015 à 21:27:08

                      je n'ai  plus d’erreur mais cependant mes action ne s’exécute pas
                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 décembre 2015 à 21:36:19

                        Ton code est vraiment étrange... Pourquoi ton fragment et ton activité inflate le même layout ? Pourquoi ton activité appelle des méthodes définies dans le fragment pour le click des boutons ?

                        As-tu bien compris ce qu'est une activité et un fragment ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 décembre 2015 à 21:55:45

                          je n'ai peu être pas tous compris nan

                          enfaite mon fragment permet de faire un slide mais sur la vue j'ai des bouton image je débute j'ai un peu du mal a savoir ou placer certaine chose

                          • Partager sur Facebook
                          • Partager sur Twitter

                          [Android] public class

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown