Comment ouvrir une deuxième activité sur le bouton Cliquez sur le bouton dans l'application Android

J'apprends à créer des applications Android et j'ai besoin d'aide spécifique. Je ne peux pas penser à quel code de template je dois modifier et quels bits sont statiques.

Dans le dossier LAYOUT , j'ai mon ACTIVITY_MAIN.XML qui lit

  • Rotation de l'ensemble des octets de JPEG après onPictureTaken
  • HttpUrlConnection.openConnection échoue la deuxième fois
  • Comment utiliser Kotlin avec Proguard
  • L'animation de l'application Tinder (glisser-déplacer ou afficher) dans Android
  • Apache HttpClient sur Android produisant CertPathValidatorException (IssuerName! = SubjectName)
  • Comment DialogFragment affecte-t-il le cycle de vie du Fragment appelant?
  • <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/main_buttons_photos" /> </LinearLayout> 

    Ensuite, j'ai ma deuxième activité ACTIVITY_SEND_PHOTOS.XML qui est

      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="@string/hello_world" tools:context=".SendPhotos" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="@string/title_activity_send_photos" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout> 

    J'ai alors mon MainActivity.java (est-ce le .class?) Cela lit le package com.example.assent.bc;

      import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } /** Called when the user clicks the Send button */ public void sendMessage(View view) { // Do something in response to button } } 

    Et puis mon fichier SendPhotos.java qui est;

      package com.example.assent.bc; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.support.v4.app.NavUtils; public class SendPhotos extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_send_photos); getActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_send_photos, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); } } 

    J'aimerais que le bouton de ma activité principale relie mon activité sendphotos, ouvrant simplement cette activité, rien de fantastique, n'émettant aucune donnée ou rien.

    Je sais que quelque part j'ai besoin de mon

      Intent i = new Intent(FromActivity.this, ToActivity.class); startActivity(i); 

    Mais je n'ai aucune idée de quoi remplacer ToActivity.class avec ou quoi d'autre dont j'ai besoin.

  • Structure du répertoire de projet de test Android lors de l'utilisation d'Eclipse
  • SecurityException: l'appelant uid XXXX est différent de l'uid de l'authentificateur
  • Comment puis-je récupérer à partir d'un Parcel a CharSequence qui a été enregistré à l'aide de TextUtils.writeToParcel (...)?
  • Convertisseur personnalisé pour Retrofit 2
  • Appareils réels xxx-hdpi d'Android
  • Quelle version JDK (Language Level) est requise pour Android Studio?
  • 10 Solutions collect form web for “Comment ouvrir une deuxième activité sur le bouton Cliquez sur le bouton dans l'application Android”

    Vous pouvez passer à l'activité souhaitée sur le clic de bouton. Ajoutez simplement android:onClick="sendMessage" cette ligne.

    Xml:

      <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="sendMessage" android:text="@string/button" /> 

    Dans votre activité principale, ajoutez cette méthode:

     public void sendMessage(View view) { Intent intent = new Intent(FromActivity.this, ToActivity.class); startActivity(intent); } 

    Et la chose la plus importante: n'oubliez pas de définir votre activité dans manifest.xml

      <activity android:name=".ToActivity" android:label="@string/app_name"> </activity> 

    Essaye ça

      Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent i = new Intent(getApplicationContext(),SendPhotos.class); startActivity(i); } }); } 

    De l'activité: où vous êtes actuellement?

    À l'activité: où vous voulez partir?

    Intent i = new Intent( MainActivity.this, SendPhotos.class); startActivity(i);

    Les deux activités doivent être incluses dans le fichier manifeste, sinon il ne trouve pas le fichier de classe et ne lance pas Force close.

    Modifiez votre Mainactivity.java

     crate button's object; 

    Maintenant Écrivez le code pour l'événement de clic.

      Button btn = (button)findViewById(R.id.button1); btn.LoginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //put your intent code here } }); 

    J'espère que cela fonctionnera pour vous.

     Button btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent myIntent = new Intent(MainActivity.this, MainActivity2.class); MainActivity.this.startActivity(myIntent); } }); 

    La réponse pour le noob complet d'un noob complet: MainActivity est le nom de la première activité. MainActivity2 est le nom de la deuxième activité. button1 est l'ID du bouton dans xml pour MainActivity Activity.

    Suivez simplement cette étape (je n'écris pas de code juste Bcoz, vous pouvez copier et coller et ne pas apprendre).

    1. D'abord, vous devez déclarer un bouton que vous avez dans la mise en page

    2. Donnez référence à ce bouton en trouvant son identifiant (using findviewById) in oncreate

    3. Setlistener for button (comme setonclick listenener)

    4. Dernier traitement de l'événement de clic (signifie démarrer une nouvelle activité en utilisant l'intention comme vous le savez déjà)

    5. N'oubliez pas d'ajouter une activité dans un fichier manifeste

    BTW c'est simple, je voudrais vous suggérer que tout simplement à partir de tutoriels simples disponibles sur le net sera mieux pour vous ..

    Meilleure chance pour Android

    Remplacez le code de ligne ci-dessous:

     import android.view.View.OnClickListener; public class MainActivity extends Activity implements OnClickListener{ Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)findViewById(R.id.button1); button.setOnClickListener(this); } public void onClick(View v) { if(v.getId==R.id.button1){ Intent i = new Intent(FromActivity.this, ToActivity.class); startActivity(i); } } } 

    Ajoutez les lignes ci-dessous dans votre fichier manifeste:

      <activity android:name="com.packagename.FromActivity"></activity> <activity android:name="com.packagename.ToActivity"></activity> 

    Remplacez votre classe MainActivity.class par ces codes

     public class MainActivity extends Activity { Button b1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1=(Button)findViewById(R.id.button1); b1.setOnClickListener(new View.onClickListener() { public void onClick(View v) { Intent i=new Intent(getApplicationContext(),SendPhotos.class); startActivity(i); } } ) } 

    Ajoutez ces codes dans votre AndroidManifest.xml après </activity> et Before </application>

     <activity android:name=".SendPhotos"></activity> 

    Si vous avez deux boutons et avez le même appel d'identité sur vos événements de clic de bouton comme ceci:

     Button btn1; Button btn2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1= (Button)findViewById(R.id.button1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(MainActivity.this,target.class); startActivity(intent); } }); btn2=(Button) findViewById(R.id.button1);//Have same id call previous button---> button1 btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); 

    Lorsque vous avez cliqué sur le button1 , le bouton 2 fonctionnera et vous ne pourrez pas ouvrir votre deuxième activité.

    Cela fonctionne toujours, soit on devrait être très bien:

     @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick (View v) { startActivity(new Intent("com.tobidae.Activity1")); } //** OR you can just use the one down here instead, both work either way @Override public void onClick (View v){ Intent i = new Intent(getApplicationContext(), ChemistryActivity.class); startActivity(i); } } } 
      <Button android:id="@+id/btnSignIn" android:layout_width="250dp" android:layout_height="40dp" android:layout_marginEnd="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginStart="8dp" android:layout_marginTop="16dp" android:background="@drawable/circal" android:text="Sign in" android:textColor="@color/white" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/etPasswordLogin" /> 

    EN JAVA CODE

     Button signIn= (Button) findViewById(R.id.btnSignIn); signIn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(SignInPage.this,MainActivity.class)); } }); 

    }

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.