2012-06-26 11 views
0

J'ai donc 2 activités et dans la première j'ai un élément de menu qui, une fois cliqué, devrait ouvrir la deuxième activité. L'évolution des travaux de partie, mais il ne change pas ce qu'il est censé, dans la deuxième activité que je met sous tension ceci:Ouvrir une nouvelle activité en cliquant sur un bouton d'élément de menu ne fonctionne pas

 Intent intent = new Intent(this, EditView.class); 
      startActivity(intent); 
      break; 

dans la première activité onOptionsItemSelected, et je clique sur un bouton dans le menu, dans cette deuxième activité J'ai une mise en page différente et je fais ce setContentView (R.layout.second); de changer la mise en page que j'ai un fichier xml fonctionnel parce que je l'ai essayé dans un autre projet, dans le fichier manifeste que j'ai ceci:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="ro.merca.ionel" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-sdk android:minSdkVersion="15" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:name=".FileList" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".EditView" 
      android:label="@string/app_name" /> 

    </application> 


</manifest> 

le problème est que lorsque je clique sur l'option dans le menu il charge une mise en page simple sans toutes les choses que je mets dans second.xml ... Je ne sais pas que le problème est ...

public class EditView extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second); 
    Intent intent = getIntent(); 
    TextView tv = new TextView(this); 
    final TextView name = (TextView) findViewById(R.id.name); 
    final TextView text = (TextView) findViewById(R.id.text); 

    setContentView(tv); 

} 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    menu.add(1,1,1,"Salveaza Nota").setIcon(android.R.drawable.btn_default); 
    menu.add(1,2,2,"Anuleaza Modificari").setIcon(android.R.drawable.btn_default); 
    menu.add(1,3,3,"Sterge Nota").setIcon(android.R.drawable.btn_default); 
    menu.add(1,4,4,"Share").setIcon(android.R.drawable.btn_default); 

    return super.onCreateOptionsMenu(menu); 

} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch(item.getItemId()){ 
     case 1 : 
      Intent intent = new Intent(this, EditView.class); 
      this.startActivity(intent); 
      break; 
     case 2 : 
      break; 
     case 3 : 
      break; 
     case 4 : 
      break; 
     default: 
      break; 
    } 
    return super.onOptionsItemSelected(item); 
} 

}

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Nume" /> 
    <EditText 
     android:id="@+id/name" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Text" /> 
    <EditText 
     android:id = "@+id/text" 
     android:inputType="text|textMultiLine" 
     android:minLines="5" 
     android:gravity="top" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 

     /> 

</LinearLayout> 
+0

Vous devez envoyer votre code pour la deuxième activité (EditView). – wyoskibum

+0

Et aussi mettre le xml de la deuxième mise en page. –

+0

Veuillez poster le code et le xml pour la deuxième activité et la mise en page resp. –

Répondre

4

Vous appelez setContentView deux fois dans onCreate(). Enlevez le second et réessayez.

0

Je suis un peu confus ici. Si vous passez de la 1ère activité à la 2ème sans passer de valeurs, à quoi cela sert-il d'utiliser getIntent() etc?

Ecrivez simplement autant, et vous atterrira sur votre activité souhaitée:

public class EditView extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second); 
    TextView tv = new TextView(this); 
    final TextView name = (TextView) findViewById(R.id.name); 
    final TextView text = (TextView) findViewById(R.id.text); 
    } 
} 
+0

* sans passer de valeurs * alors qu'est-ce que c'est nécessaire ??? – Trikaldarshi

Questions connexes