2010-08-06 6 views
1

Donc, je travaille avec une vue de liste essayant d'ouvrir des activités spécifiques lorsqu'un certain élément est sélectionné. C'est le code avec lequel je travaille en ce moment. Je sais que c'est faux, mais je ne suis pas sûr de ce que j'ai besoin de le changer pour le faire fonctionner. Je pense que j'ai besoin d'une intention et j'ai essayé quelques idées, mais je n'ai pas trouvé grand-chose. Merci.Liste Afficher la sélection pour débuter une nouvelle activité

package table.periodic; 

import android.app.ListActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class List extends ListActivity{ 



String[] elements={"actinium", "aluminum", "americium", 
     "antimony", "argon", "arsenic", "astatine", "barium", 
     "berkelium", "beryllium", "bismuth", "bohrium", "boron", 
     "bromine", "cadmium", "calcium", "californium", "carbon", 
     "cerium", "cesium", "chlorine", "chromium", "cobalt", 
     "copper", "copernicium", "curium", "darmstadtium", "dubnium", 
     "dysprosium", "einsteinium", "erbium", "europium", "fermium", 
     "fluorine", "francium", "gadolinium", "gallium", "germanium", 
     "gold", "hafnium", "hassium", "helium", "holmium", 
     "hydrogen", "indium", "iodine", "iridium", "iron", 
     "krypton", "lanthanum", "lawrencium", "lead", "lithium", 
     "lutetium", "magnesium", "manganese", "meitnerium", "mendelevium", 
     "mercury", "molybdenum", "neodymium", "neon", "neptunium", 
     "nickel", "niobium", "nitrogen", "nobelium", "osmium", 
     "oxygen", "palladium", "phosphorus", "platinum", "plutonium", 
     "polonium", "potassium", "praseodymium", "promethium", "protactinium", 
     "radium", "radon", "rhenium", "rhodium", "roentgenium", "rubidium", 
     "ruthenium", "rutherfordium", "samarium", "scandium", "seaborgium", 
     "selenium", "silicon", "silver", "sodium", "strontium", "sulfur", 
     "tantalum", "technetium", "tellurium", "terbium", "thallium", "thorium", 
     "thulium", "tin", "titanium", "tungsten", "ununhexium", "ununoctium", 
     "ununpentium", "ununquadium", "ununseptium", "ununtrium", "uranium", 
     "vanadium", "xenon", "ytterbium", "yttrium", "zinc", "zirconium"}; 

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.list); 
    setListAdapter(new ArrayAdapter<String>(
      this, android.R.layout.simple_list_item_1, 
      elements)); 

} 

public void onListItemClick(ListView parent, View v, int position, 
     long id){ 


    if ("actinium".equals(elements[position])) 
     {startActivity(Actinium.class);} 

    else if ("aluminum".equals(elements[position])) 
     {startActivity(Aluminum.class);} 



} 

Répondre

2

J'ai modifié un peu votre code. Vous devez créer un élément ListView dans votre fichier XML de mise en page, puis dans votre fichier Java, trouvez l'aide findViewById:

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class List extends Activity { 

    String[] elements = { … }; // (omitted for better legibility) 

    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 

     setContentView(R.layout.main); 
     ListView lv = (ListView)findViewById(R.id.ListView01); 
     lv.setAdapter(new ArrayAdapter<String>(
       this, android.R.layout.simple_list_item_1, 
       elements)); 
    } 

    public void onListItemClick(ListView parent, View v, int position, 
           long id) { 
     //if ("actinium".equals(elements[position])) 
     // {startActivity(Actinium.class);} 
     //else if ("aluminum".equals(elements[position])) 
     // {startActivity(Aluminum.class);} 
    } 
} 
+0

ok. alors ça a fait apparaître ma liste mais comment puis-je obtenir une sélection pour commencer la nouvelle activité? –

+0

sure Dans ce cas, décommenter le if ... et sinon si les blocs Inside Si ou sinon si le bloc { Intention i = nouvelle intention (List.this, Actinium.class) startActivity (i); } Actinium class doit être défini comme shud extend Activity .. De plus, une activité doit être déclarée dans Android Manifest .xml afin que Ancroid System puisse reconiser cette et la démarrer selon notre besoin –

+0

ok. je vois. Merci mec. –

Questions connexes