Frage

Ich habe ein Memo Kartenspiel in Android für mein Projekt zu tun. Was jetzt bin ich in der Phase, wo ich aus der Grundform meines App Figur versuchen.

Ich habe einige Tutorials zu lesen, aber ich kann; (. Dh in ‚für‘ Schleife) t herauszufinden, wie viele dynamisch erstellten Schaltflächen zu ändern, von XML oder sogar aus dem Code. Auf meine Frage deutlich machen hier ist der Code, den ich gemacht

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

Was passiert, wenn ich die app ausgeführt ist, die ich habe 30 ToggleButtons auf dem Bildschirm, wobei jeder von ihnen weist eine Anzahl Form 0 bis 14 (15 Paare). Das ist, was ich haben wollte, aber wenn ich alle von ihnen drücken Tasten neben zeigt die Textänderungen Toast Taste bilden, was ich auf ON sein wollen und dann nach dem anderen drücken auf OFF. Ich kann nicht herausfinden, wie dieses Verhalten zu steuern - ich würde wirklich einige Tipps schätzen, wie dies in Code streng zu erreichen oder XML. Ein anderer Fall ist, wie XML zu verwenden, wie das Layout und Zufälligkeit des Textsatzes zu definieren, die auf Tasten.

War es hilfreich?

Lösung

Wenn Sie fügen

b.setTextOff(Integer.toString(listaKart.get(licznik)));
b.setTextOn(Integer.toString(listaKart.get(licznik)));

auf Ihre innere for () Schleife werden die Tasten immer ihre Position in der Liste angezeigt werden, ob diese Option aktiviert ist oder aus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top