Je dois faire un jeu de cartes mémo dans Android pour mon projet. Pour l'instant, je suis à l'étape où j'essaie de comprendre la forme de base de mon application. J'ai lu quelques tutoriels, mais je peux comprendre comment modifier beaucoup de boutons créés dynamiquement (par exemple dans la boucle 'for'), à partir de xml, ou même à partir du code. Pour rendre ma question claire est le code ici je l'ai faitComment modifier le comportement de ToggleButton avec ou sans xml dans Android
package piotrek.test1;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.*;
import android.widget.*;
import java.util.ArrayList;
import java.util.*;
public class test1 extends Activity implements View.OnClickListener {
private ArrayList<Integer> listaKart = new ArrayList<Integer>();
private int rozmiar = 0;
private int licznik = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TworzKarty();
//tu tworzymy definicje nowego wygladu (layout) czyli w formie tabeli
TableLayout layout = new TableLayout (this);
layout.setLayoutParams(new TableLayout.LayoutParams(4,5));
//ustawienie odstepow do 'scian'
layout.setPadding(10,10,10,10);
//petle 'populujace' miejsca w tabeli przyciskami
for (int f=0; f<=5; f++) {
TableRow tr = new TableRow(this);
for (int c=0; c<=4; c++) {
ToggleButton b = new ToggleButton (this);
//b.setText(""+f+c);
b.setText(Integer.toString(listaKart.get(licznik)));
b.setTextSize(10.0f);
b.setTextColor(Color.rgb(100, 200, 200));
b.setOnClickListener(this);
tr.addView(b, 60,60);
licznik++;
} // for
layout.addView(tr);
} // for
super.setContentView(layout);
} //()
public void TworzKarty(){
for (int i=0;i<=14;i++){
this.listaKart.add(i);
this.listaKart.add(i);
}
//pomieszanie kolejnosci numerków
Collections.shuffle(listaKart);
rozmiar=listaKart.size();
}
public void onClick(View view) {
//((Button) view).setText("*");
//((Button) view).setEnabled(false);
if (((ToggleButton) view).isChecked()) {
Toast.makeText(test1.this, Integer.toString(rozmiar), Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(test1.this, "Not checked", Toast.LENGTH_SHORT).show();
}
}
} // class
Que se passe quand j'exécuter l'application est, que j'ai 30 ToggleButtons sur l'écran, chacun d'eux a une forme de numéro 0 à 14 (15 paires) . C'est ce que je voulais avoir, mais quand j'appuie sur l'un des boutons en plus de montrer le bouton toast, les changements de texte forment ce que je veux qu'il soit sur ON puis après une autre pression sur OFF. Je n'arrive pas à comprendre comment contrôler ce comportement - j'apprécierais vraiment quelques conseils sur la façon de réaliser cela strictement en code ou en utilisant xml. Un autre cas est comment utiliser xml pour définir une telle mise en page et aléatoire de l'ensemble de texte sur les boutons.
'import android.view. *;' Compile-t-il vraiment lorsque vous faites cela? Je pensais que vous ne pouviez pas faire des importations génériques – Falmarri