如何使用java onclick shuffle数组
我正在学习如何在java中使用字符串和onclick。我在下面写了一个程序,将三个名字混洗,然后输出到三个按钮中 当我点击Paul时,我希望消息显示在消息框中。因为保罗每次都会在一个按钮上。我对如何将我的信息附在保罗身上感到困惑 由于使用数组,Paul四处走动。我知道这是一个棘手的问题,但我也知道,有一些非常聪明的人喜欢挑战如何使用java onclick shuffle数组,java,arrays,onclick,shuffle,Java,Arrays,Onclick,Shuffle,我正在学习如何在java中使用字符串和onclick。我在下面写了一个程序,将三个名字混洗,然后输出到三个按钮中 当我点击Paul时,我希望消息显示在消息框中。因为保罗每次都会在一个按钮上。我对如何将我的信息附在保罗身上感到困惑 由于使用数组,Paul四处走动。我知道这是一个棘手的问题,但我也知道,有一些非常聪明的人喜欢挑战 public class MainActivity extends ActionBarActivity { @Override protected voi
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void generate(View view) {
String [] names = new String[3];
names[0] = "Bob";
names[1] = "Paul";
names[2] = "Mike";
Button btn_a = (Button) findViewById(R.id.a);
Button btn_b = (Button) findViewById(R.id.b);
Button btn_c = (Button) findViewById(R.id.c);
TextView message = (TextView)findViewById(R.id.message);
Arrays.asList(names);
Collections.shuffle(Arrays.asList(names));
btn_a.setText(names[0]);
btn_b.setText(names[1]);
btn_c.setText(names[2]);
}
public void a1(View view) {
}
public void b1(View view) {
}
public void c1(View view) {
}
}
这是Java中的一个技巧性实用实现,其中多个按钮使用一个侦听器,而不是每个按钮使用一个侦听器,因此每个按钮的内容决定发生了什么,而不是每个按钮的侦听器。帮助动态按钮网格(即8x8棋盘)不定义64个侦听器并对其全部编码
我手头没有Android IDE,所以这是伪代码,但您应该能够从中获得要点
//Create a Universal Listener for all our buttons
OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
Button b = (Button)v;
String text = b.getText().toString(); //get the button's name
if(text.equals("Paul")) {
//do anything for Paul ONLY in here
}
}
});
btn_a.setOnClickListener(listener); //give all the buttons the same listener, but only Paul's listener will do anything when you click on it
btn_b.setOnClickListener(listener);
btn_c.setOnClickListener(listener);
使用:和中的信息为所有按钮指定相同的ActionListener,但仅当按钮的文本为Paul时才执行该操作。链接的答案显示如何使用名称,后面的答案显示如何使用文本。我阅读了你建议的链接。我有三个onlick按钮。我知道如果他们被逼迫的话,如何让事情发生。因为保罗随意移动。我需要弄清楚如何将消息附加到paul,因此当我按下paul所在的按钮时,将显示一条消息。您可以将侦听器附加到所有三个按钮。当您使用检查文本的if语句时,包含文本Paul的按钮是唯一执行操作的按钮。让他们都有相同的ActionListener,只有带有Paul名字的按钮才会响应。你能建议我如何在上面的代码中实现代码吗。这对我会有很大帮助。我在互联网上搜索了6个小时,但没有成功。这几乎没有任何改动。多亏了你,我今天过得很成功。