我几个月前开始编码,并开始在自己的应用程序上练习
可以输入六个名称,然后随机名称与随机任务相匹配,如果您输入所有六个名称则可以正常工作。
现在,我希望随机绑定由实际包含输入名称的textViews覆盖。。。
Random r = new Random();
int Case = r.nextInt(6);
switch(Case){
case 0: tv = findViewById(R.id.textView2);
st = getIntent().getExtras().getString("Player");
tv.setText(st);
break;
case 1: tv = findViewById(R.id.textView2);
st = getIntent().getExtras().getString("Player2");
tv.setText(st);
break;
case 2: tv = findViewById(R.id.textView2);
st = getIntent().getExtras().getString("Player3");
tv.setText(st);
break;
case 3: tv = findViewById(R.id.textView2);
st = getIntent().getExtras().getString("Player4");
tv.setText(st);
break;
case 4: tv = findViewById(R.id.textView2);
st = getIntent().getExtras().getString("Player5");
tv.setText(st);
break;
case 5: tv = findViewById(R.id.textView2);
st = getIntent().getExtras().getString("Player6");
tv.setText(st);
break;
case 6: tv = findViewById(R.id.textView2);
st = getIntent().getExtras().getString("Player7");
tv.setText(st);
break;
我想用之类的东西
int x;
if (textView1 filled && TextView2 empty){x=0}
if else (textview1 filled && TextView2 filled && TextView3 empty) {x=1} etc.
Random r = new Random();
int Case = r.nextInt(x);
您可以先检查视图是否为空,然后使用计数器进行跟踪。然后使用该计数器作为绑定。
您可以检查文本视图是否为空,如下所示:
TextView text= findById(R.id.textview);
Boolean isEmpty =text.getText().toString().isEmpty();
但是如果if else (textview1 filled && TextView2 filled && TextView3 empty) {x=1} etc.
第三个字段为空,而第四个字段不为空,会发生什么?更好的方法是收集数组中的所有字段并进行迭代。若字段已填充,则在计数器上加1。类似这样的东西:
int filledCount = 0;
TextView[] views = {TextView1, TextView2, ...};
for (TextView view : views)
{if (view.filled) filledCount++;}
如果您使用java8,请使用流。Stream.of(TextView1,TextView2,...).filter(TextView::isFilled).count();