2016-09-13 4 views
0

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

Я новичок, и я хотел бы простое решение или если вы можете объяснить мне, что я должен сделать, это будет хорошо :)

Это мой первый активность (MainActivity):

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

public class MainActivity extends AppCompatActivity { 

private Button mPasserelle = null; 
public final static String AGE = "com.myapplis.multiactivite.AGE"; 

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

    mPasserelle = (Button) findViewById(R.id.passerelle); 
    mPasserelle.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent secondeActivite = new Intent(MainActivity.this,IntentExample.class); 
      secondeActivite.putExtra(AGE,24); 
      startActivity(secondeActivite); 
     } 
    }); 

    } 
} 

Вторая активность (IntentExample):

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

public class IntentExample extends Activity{ 
@Override 
    public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.seconde_activite); 
    Intent i = getIntent(); 


    int age = i.getIntExtra(MainActivity.AGE,0); 
    TextView resultat= (TextView)findViewById(R.id.resultat); 
    resultat.setText("Le résultat est : "+age); 

} 
} 

Это мой первый макет (activity_main), только простой кнопку нажать, чтобы получить вторую активность:

<?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:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.dunomade.multiactivite.MainActivity"> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/passerelle"/> 
</LinearLayout> 

И теперь это мой второй макет (seconde_activite), только простой текст, чтобы показать мне, что я нахожусь на втором занятии:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/resultat" 
     android:text="" /> 

</LinearLayout> 

И закончить, это мой манифест:

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

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     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=".IntentExample" 
      android:label="seconde acivite"> 

     </activity> 
    </application> 

</manifest> 

Когда я запускаю приложение, MainActivity хорошо, но когда я пытаюсь нажать на кнопку, AVD покажет мне «Вы объявили эту активность в своем AndroidManifest?». Я объявил это на моем манифесте, но я думаю, что проблема в моей MainActivity.

Пожалуйста, помогите мне, я думаю, что для вас это очень просто, но я не могу его решить, я много раз пробовал, но у меня уже была такая же ошибка. Спасибо за чтение и ответ =)

+1

наклеить всю ошибку LogCat, отсюда кажется, хорошо. 'int age = i.getIntExtra (MainActivity.AGE);' – W4R10CK

+0

Вы получаете журнал ошибок? Кажется странным для меня. – Christopher

+0

Также попробуйте 'Build> Clean Project' – Shaishav

ответ

0

Я советую вам использовать имя пакета перед именем вашей деятельности, как это (некоторые устройства нуждаются в этом, как Moto G):

<activity android:name="your.package.IntentExample "></activity> 

И вместо этого использовать:

public class IntentExample extends Activity 

использование:

public class IntentExample extends AppCompatActivity 
+0

Я очищаю свой проект, и я сделал то, что вы говорите, он отлично работает. Спасибо всем. – LeNomade

+0

И можете ли вы объяснить мне, в чем разница между Activity и AppCompatActivity? Являются ли имя функции, которое я должен назвать другим? Если да, то что они делают по-другому? – LeNomade

Смежные вопросы