je veut creer un menu (Spinner) qui contient les trois mot "nomen" ,"adjectives "et"verben" .le code fonctionne bien dans le mainActivity et on voit la liste mais quand j ai ecrit le meme code dans une classe qui va m aider a organiser le code le menu maffiche rien .
Voici la classe que j ai cree
public class WordsBase {
private Activity context=null;
private View myView;
// Type of words that user want to search
private final String Noun="Nomen",Adjectives="Adjectives",Verbs="Verben";
public WordsBase(Activity context)
{
this.context= context;
}
// creat the list menu that let User to choose what type of words want to search
public void create () {
LayoutInflater inflater = context.getLayoutInflater();
myView = inflater.inflate(R.layout.words_base, null);
Spinner sp1 = (Spinner) myView.findViewById(R.id.spinner1);
List<String> arr = new ArrayList<String>();
arr.add(Noun);
arr.add(Adjectives);
arr.add(Verbs);
ArrayAdapter<String> menu_Adapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1,arr);
sp1.setAdapter(menu_Adapter);
}
}
et ici le MainActivity qui doive faier appel au methode creat()
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.words_base);
WordsBase menu =new WordsBase(this);
menu.create();
}
}
C'est assez logique car ta classe WordsBase ne manipule pas les éléments graphiques de la classe MainActivity puisque tu inflates un nouveau layout. Si tu souhaites mutualiser du code, le mieux est de jouer avec l'héritage. Ta classe WordsBase hérite de AppCompatActivity et ta classe MainActivity hérite de ta classe WordsBase
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon site - Mon livre sur le XML - Mon blog