2010-08-07 5 views
0

Je tente d'obtenir mon application pour ouvrir un écran de menu des paramètres et revenir. Le problème que j'ai est quand dans la page des paramètres, en appuyant sur le bouton de retour, l'application se ferme. Je suis très nouveau à la programmation en général après avoir lutté pendant environ 8 heures, je suis prêt à demander de l'aide!Comment ouvrir le menu des options, modifier les paramètres et revenir - Android?

Voici le code que je l'ai écrit

`package com.bowersoftware.connecttozcu;

importer android.app.Activity; importez android.os.Bundle; importez android.view.Menu; importez android.view.MenuInflater; importez android.view.MenuItem; importez android.widget.ArrayAdapter; importez android.widget.Spinner; importez android.widget.Toast;

ConnecttoZCU public class activité {

private Spinner mEngineSpinner; 
private Spinner mUnitsSpinner; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mEngineSpinner = (Spinner) findViewById(R.id.engineSpinner); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      this, R.array.engine, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    mEngineSpinner.setAdapter(adapter); 

} 

private void ConnectSettings() { 
    setContentView(R.layout.settings); 
    mUnitsSpinner = (Spinner) findViewById(R.id.unitsSpinner); 
    ArrayAdapter<CharSequence> settingsadapter = ArrayAdapter.createFromResource(
      this, R.array.units, android.R.layout.simple_spinner_item); 
    settingsadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    mUnitsSpinner.setAdapter(settingsadapter); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.option_menu, menu); 
    return true; 
} 


@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
    case R.id.scan: 
     Toast.makeText(this, "Scan", Toast.LENGTH_LONG).show(); 
     return true; 
    case R.id.settings: 
     Toast.makeText(this, "Settings", Toast.LENGTH_LONG).show(); 
     ConnectSettings(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

} `

Je suis sûr qu'il est quelque chose de stupide que je suis absent, mais ne peut pas comprendre.

Merci, Jason

Répondre

1

ContactsSetting devrait être l'activité séparée.

Au moment où vous avez une seule activité, lorsque vous appuyez sur le bouton Retour, l'application est fermée.

Pour démarrer une nouvelle utilisation de l'activité:

startActivity(new Intent(this, ContactsSetting.class));

+0

Darbat est correct! Étant donné que la plupart des programmes ont plus d'une activité, c'est une bonne idée d'avoir votre menu en tant que menu partagé dans une classe séparée. De cette façon, vous pouvez modifier les paramètres de toute activité que vous autorisez. Stackoverflow a un bon exemple: - http://stackoverflow.com/questions/2006457/android-how-to-have-a-shared-menu-in-each-list-activity-without-re-writing-the –

+0

Merci pour l'information, malheureusement, cela n'a pas l'air de le faire. J'avais essayé de faire une nouvelle activité en classe et de l'appeler, mais lors des tests j'obtiens et je me trompe en disant que le programme s'est arrêté de manière inattendue, en appuyant sur l'élément de menu des paramètres. – Alphaomega16

+0

Nevermind ... N'a pas ajouté l'activité au AndroidManifest.xml. C'était le problème simple que je cherchais. J'avais déjà essayé une nouvelle activité mais je n'ai pas réussi. Maintenant ça marche. – Alphaomega16

Questions connexes