关于我的代码,我有两个问题:
我的ArrayList现在生成0到5之间的随机数。如何在1到5之间进行此操作?
如果单击其中一个按钮,并且其编号是例如4(并非总是如此,显然),我希望发生一些事情;但是,我不知道如何在代码中写这个。那么,你会怎么做呢?
修改
更具体的问题2,所以我可以尝试一些事情
我的实施是;
package com.example.buttontester;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
public class GameOneActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gameone_layout);
List<Integer> numbers = new ArrayList<>();
for(int i = 0; i < 5; i++){
numbers.add(i);
}
Collections.shuffle(numbers);
for(int i = 0; i < 5; i++) {
System.out.println(numbers.get(i));
}
Button btn1 = (Button) findViewById(R.id.button1);
btn1.setText(String.valueOf(numbers.get(0)));
Button btn2 = (Button) findViewById(R.id.button2);
btn2.setText(String.valueOf(numbers.get(1)));
Button btn3 = (Button) findViewById(R.id.button3);
btn3.setText(String.valueOf(numbers.get(2)));
Button btn4 = (Button) findViewById(R.id.button4);
btn4.setText(String.valueOf(numbers.get(3)));
Button btn5 = (Button) findViewById(R.id.button5);
btn5.setText(String.valueOf(numbers.get(4)));
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onResume() {
super.onResume();
}
}
答案 0 :(得分:1)
现在你有:
List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < 5; i++){
numbers.add(i);
}
你说:
我的ArrayList现在生成0到5之间的随机数,如何在1到5之间进行此操作?
好吧,然后改变循环:
for (int i = 1; i < 5; i++)
答案 1 :(得分:1)
将您的循环更改为:
for(int i = 1; i&lt; = 5; i ++)
对于您感兴趣的按钮(例如4),您需要在按钮上设置onClickListener。请参阅:http://developer.android.com/reference/android/widget/Button.html