我必須在android中爲我的項目做一個備忘錄卡遊戲。至於現在我正處於我試圖弄清楚我的應用的基本形狀的階段。如何在Android中使用或不使用xml修改ToggleButton行爲
我讀過一些教程,但我可以;弄清楚如何修改很多動態創建的按鈕(即在'for'循環中),從xml或甚至代碼中。 爲了清楚我的問題這是我做
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
代碼當我運行的應用程序是,我在屏幕上30周的ToggleButtons會發生什麼事,他們每個人都有一個號碼從0到14(15對) 。這就是我想要的,但是當我按下其中的任何一個按鈕,除了顯示吐司按鈕的文本更改形式,我想要它打開,然後在另一個按下關閉。 我無法弄清楚如何控制這種行爲 - 我真的很感謝一些關於如何在代碼中嚴格實現這一點或使用xml的提示。另一種情況是如何使用xml來定義按鈕上文本集的佈局和隨機性。
'import android.view。*;'當你這樣做的時候真的編譯嗎?我以爲你不能做通配符進口 – Falmarri 2010-10-28 21:09:59