是否有可能在进入android的for循环的下一次迭代之前等待用户输入。 ? 我根据给定的String数组以编程方式生成textview。当循环运行时,创建textview并将其可见性设置为不可见。现在,我想要做的是当循环的第一次迭代运行时,即当i = 0时textviews options1 options2 options3 为其分配随机值,其中一个等于arr [i](正确的一个)。创建选项后,如果动态文本视图可见性设置为可见,则用户将输入他/她的猜测,然后输入循环的下一个迭代应该运行,即i = 1,带有新选项,依此类推..有可能这样做吗?
到目前为止我的代码是这样的:
String[] arr = {"a", "b", "c"};
TextView option_1 = (TextView) findViewById(R.id.txtv1);
TextView option_2 = (TextView) findViewById(R.id.txtv2);
TextView option_3 = (TextView) findViewById(R.id.txtv3);
for(int i = 0; i < arr.length; i++) {
final TextView textView = new TextView(this);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10);
textView.setLayoutParams(new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, 48));
textView.setGravity(Gravity.CENTER_VERTICAL);
textView.setPadding(20, 0, 0, 0);
textView.setText(arr[i]);
textView.setId(i + 1);
textViewIds[i] = textView.getId();
textView.setVisibility(View.INVISIBLE);
final int[] textViewIds = new int[]{R.id.txtv1, R.id.txtv1, R.id.txtv1};
Random r = new Random();
int Rand_Tv_no = r.nextInt(textViewIds.length);
((TextView) findViewById(textViewIds[Rand_Tv_no])).setText(code[i]);
}
答案 0 :(得分:0)
是的,可以使用AlertDialog
框。在循环中创建AlertDialog
,它将根据您的循环生成并在警报对话框中创建EditText
框。
这是用于创建AlertDialog
AlertDialog alert = new AlertDialog.Builder(AnalogyActivity.this)
.setTitle("Are You Sure?")
.setCancelable(true)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.e(TAG, "click: No");
}
})
.create();
alert.setCanceledOnTouchOutside(true);
alert.show();