2017-09-17 1 views
0

Objectif:
Lorsque j'appuie sur l'un des boutons, vous devriez être redirigé vers la page d'intention suivante. Il ne fonctionne que pour le bouton nommé "Activité 1" mais pas les boutons restants bien que vous utilisiez le même code source pour le bouton "Activité 1", "Activité 2" et "Activité 3".Tous les boutons avec intention Ne fonctionnent pas

Quelle partie me manque?

Merci!

Info:
* Je suis nouveau dans Android
* J'utilise l'API 23


AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.jfdimarzio.application"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".firstactivity"> 
     </activity> 
     <activity android:name=".activity2"> 
     </activity> 
    </application> 

</manifest> 

MainActivity.java

package com.jfdimarzio.application; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.TextView; 

import static android.R.attr.value; 

public class MainActivity extends AppCompatActivity 
{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Intent intent = getIntent(); 

     if(intent != null) 
     { 
      String valuee = intent.getStringExtra("key"); 

      if(valuee != null) 
      { 
       final TextView textViewToChange = (TextView) findViewById(R.id.txtvw_activity1); 

       textViewToChange.setText(valuee); 
      } 
     } 
    } 


    public void onClick(View view) 
    { 
     switch(view.getId()) 
     { 
      case R.id.btn_activity1: 
       Intent myIntent1 = new Intent(getBaseContext(), firstactivity.class); 
       myIntent1.putExtra("key", "Hello! Activity 1"); 
       startActivity(myIntent1); 
       break; 

      case R.id.btn_activity2: 
       Intent myIntent2 = new Intent(getBaseContext(), Activity2.class); 
       myIntent2.putExtra("key", "Hello! Activity 2"); 
       startActivity(myIntent2); 
       break; 

      case R.id.btn_activity3: 
       Intent myIntent3 = new Intent(getBaseContext(), Activity3.class); 
       myIntent3.putExtra("key", "Hello! Activity 3"); 
       startActivity(myIntent3); 
       break; 
     } 
    } 

} 

firstactivity.java

package com.jfdimarzio.application; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.widget.TextView; 



public class firstactivity extends Activity 
{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Intent intent = getIntent(); 
     String valuee = intent.getStringExtra("key"); 

     final TextView textViewToChange = (TextView) findViewById(R.id.txtvw_activity1); 

     textViewToChange.setText(valuee); 
    } 
} 

Activity3.java

package com.jfdimarzio.application; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.widget.TextView; 



public class Activity3 extends Activity 
{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Intent intent = getIntent(); 
     String valuee = intent.getStringExtra("key"); 

     final TextView textViewToChange = (TextView) findViewById(R.id.txtvw_activity1); 

     textViewToChange.setText(valuee); 
    } 

} 

Activity2.java

package com.jfdimarzio.application; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.widget.TextView; 

public class Activity2 extends Activity 
{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Intent intent = getIntent(); 
     String valuee = intent.getStringExtra("key"); 

     final TextView textViewToChange = (TextView) findViewById(R.id.txtvw_activity1); 

     textViewToChange.setText(valuee); 
    } 

} 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.jfdimarzio.application.MainActivity"> 

    <TextView 
     android:id="@+id/txtvw_activity1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="18dp" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toTopOf="parent" /> 

    <Button 
     android:id="@+id/btn_activity1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/txtvw_first" 
     android:layout_marginTop="67dp" 
     android:onClick="onClick" 
     android:text="Activity 1" /> 

    <Button 
     android:id="@+id/btn_activity2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/btn_activity1" 
     android:layout_marginTop="15dp" 
     android:onClick="onClick" 
     android:text="Activity 2" /> 

    <Button 
     android:id="@+id/btn_activity3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentStart="true" 
     android:layout_below="@+id/btn_activity2" 
     android:layout_marginTop="19dp" 
     android:onClick="onClick" 
     android:text="Activity 3" /> 

</RelativeLayout> 

firstactivity.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/txt_message" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:id="@+id/txtvw_activity1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:text="TextView" /> 

</RelativeLayout> 

activity2.xml

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

</RelativeLayout> 
+0

Vous devez déclarer toutes les activités dans votre fichier XML Manifest –

Répondre

1

Looks comme si vous n'aviez pas déclaré toutes les activités dans votre fichier Manifest. Assurez-vous d'inclure toutes les activités dans votre Manifest.xml comme celui-ci:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.jfdimarzio.application"> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/ic_launcher_round" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".firstactivity"> 
    </activity> 
    <activity android:name=".Activity2"> 
    </activity> 
    <activity android:name=".Activity3"> 
    </activity> 
</application> 

1

il vous suffit de déclarer toutes les activités dans le fichier manifeste et le nom du fichier dans le moût tag <activity android:name="...."></activity> à semblable à le nom de votre nom de fichier de classe .java. Votre entrée d'activité2.classe java est

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

Il devrait être comme ça

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