如何修改切换按钮的行为有或无的Android XML
-
27-09-2019 - |
题
我已经做在android系统的备忘录纸牌游戏为我的项目。至于现在我在哪里我揣摩我的应用程序的基本形状的舞台。
我读过一些教程,但是我可以;(即在“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对)。这就是我想拥有,但是当我按其中任何一个按钮,除了显示敬酒按钮上的文字变化形成什么,我希望它是,然后陆续按OFF。 我无法弄清楚如何控制这种行为 - 我真的很感激如何在代码或使用XML严格实现这一目标的一些技巧。另一种情况是如何使用XML来定义上的按钮的文本集的这种布局和随机性。
解决方案
如果您添加
b.setTextOff(Integer.toString(listaKart.get(licznik)));
b.setTextOn(Integer.toString(listaKart.get(licznik)));
到您的内for()循环,按钮将始终显示在列表中它们的位置,是否切换开启或关闭。
不隶属于 StackOverflow