public class PlayerData{
int id; // id means Player's order
boolean isTeacher;
public PlayerData() {
}
public void setID(int id) {
this.id = id;
}
public void setTeacher() {
isTeacher = true;
}
}
public class Singleton {
public int time;
public int total; // number of total players
public int teacher; // number of teachers
public int student; // number of students
-
public int count = 1;
public String keyWord; //
ArrayList<PlayerData> playerArrayList = new ArrayList<PlayerData>();
// method init creates Objects of players
public void init() {
for (int i = 1; i <= total; i++) {
PlayerData player = new PlayerData();
player.setID(i); // set id
playerArrayList.add(player); // add player Object to ArrayList
}
}
public void JobSelection() {
int a[] = new int[teacher]; // Make array to the number I will select
Random r = new Random(); // Random Object
PlayerData player = new PlayerData();
for (int i = 0; i < teacher; i++) // for loop to select Teachers
{
a[i] = r.nextInt(total) + 1; //select a number from 1~total and Save in a[0]~a[total]
for (int j = 0; j < i; j++) //for loop to avoid overlap
{
if (a[i] == a[j]) {
i--;
}
}
if (a[i] == player.id) {
playerArrayList.get(player.id - 1).isTeacher = true;
}
}
} ...
public class RoleSelection extends AppCompatActivity {
Singleton s1 = Singleton.getInstance();
PlayerData player = new PlayerData();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_role_selection07_03);
TextView t1 = (TextView) findViewById(R.id.textJobConfirm);
if (s1.playerArrayList.get(s1.player.id-1).isTeacher == true) {
t1.setText(" You job is Teacher ");
} else {
t1.setText(" Your job is Student ");
我正在制作一个应用程序游戏,其工作仅包括教师和学生。上面的代码显示了我的应用。
有一个具有其数据和设置器的播放器类 有一个Singleton类,可将值保存在变量中,例如总计(总玩家),教师,学生等。Singleton类还具有创建播放器对象的ArrayList。 在Singleton类中,我做了两种方法:一种用于在ArrayList中创建对象,另一种用于为对象提供工作。 JobSelection方法正在尝试给每个玩家一个工作。例如,如果在游戏设置中选择的总玩家为10,而选择的老师为4,则我必须将10个玩家对象随机分配给4个老师。 给玩家一份工作后,我在“角色选择”类中编写了代码,以考虑到玩家的工作,以不同的方式设置了setText。 我的logcat或我的应用程序没有任何错误。但是,我只收到“您的工作是学生”。我猜JobSelection方法效果不好。因此,我尝试修复这些代码`for(int i = 0; i <教师; i ++)// for循环以选择教师{a [i] = r.nextInt(total)+ 1; //从1到总数中选择一个数字,并保存在a [0]〜a [total]中,用于(int j = 0; j <i; j ++)// for循环以避免重叠{if(a [i] == a [j]){i--; }}
if (a[i] == player.id) {
playerArrayList.get(player.id - 1).isTeacher = true;
}
}
`
但是我没有解决这些问题...如果有人回答我如何分配工作并根据他们的工作看到不同的TextView,将不胜感激。谢谢
这个肯定有4次请求,你可以打印一下4次返回的结果,你适配器里setNewData(mDeviceItems)方法怎么写的,我怀疑你是直接赋值的,不是add的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。