为什么我的变量递减?(Why is my variable decrementing?)

编程入门 行业动态 更新时间:2024-10-15 00:21:14
为什么我的变量递减?(Why is my variable decrementing?) while(i < numCourses){ final int index = i; //Create a Dialog final Dialog dialog = new Dialog(MainActivity.this); dialog.setContentView(R.layout.input_dialog); TextView textView = (TextView) dialog.findViewById(R.id.textView4); textView.setText("" + i); dialog.show(); //Button for the dialog. Button b = (Button) dialog.findViewById(R.id.button); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //Get input Course Numbers, numCourses times EditText editText = (EditText) dialog.findViewById(R.id.editText2); //EditText String getInput = editText.getText().toString(); //String input try { courseNumbers[index] = Integer.parseInt(getInput); Toast.makeText(MainActivity.this, "" + courseNumbers[index], Toast.LENGTH_SHORT).show(); }catch (Exception ex){} //Dismiss dialog dialog.dismiss(); } }); i++; }

这是我的变量int = i出现在Dialog中,假设numCourses是4:

3 2 1 0

我的问题是为什么向后递减,而不是从0递增到3。为了从对话框接收一组输入,我怎样才能有效地请求输入,numcourses时间? 而不是我有一个while循环和增加我,我觉得效率不高。

while(i < numCourses){ final int index = i; //Create a Dialog final Dialog dialog = new Dialog(MainActivity.this); dialog.setContentView(R.layout.input_dialog); TextView textView = (TextView) dialog.findViewById(R.id.textView4); textView.setText("" + i); dialog.show(); //Button for the dialog. Button b = (Button) dialog.findViewById(R.id.button); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //Get input Course Numbers, numCourses times EditText editText = (EditText) dialog.findViewById(R.id.editText2); //EditText String getInput = editText.getText().toString(); //String input try { courseNumbers[index] = Integer.parseInt(getInput); Toast.makeText(MainActivity.this, "" + courseNumbers[index], Toast.LENGTH_SHORT).show(); }catch (Exception ex){} //Dismiss dialog dialog.dismiss(); } }); i++; }

This is what my variable int = i shows up in the Dialog, suppose numCourses was 4:

3 2 1 0

My question is why is decrementing backwards, instead of incrementing forward from 0 to 3. And to receive an array of inputs from a dialog, how can I efficiently ask for input, numCourses times? Instead of me having a while loop and incrememnting i, which I feel is not efficient.

最满意答案

单击每个输入后,不使用循环,然后显示下一个对话框。

public void showCourseDialog(final int i, final int numCourses){ final int index = i; //Create a Dialog final Dialog dialog = new Dialog(MainActivity.this); dialog.setContentView(R.layout.input_dialog); TextView textView = (TextView) dialog.findViewById(R.id.textView4); textView.setText("" + i); dialog.show(); //Button for the dialog. Button b = (Button) dialog.findViewById(R.id.button); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //Get input Course Numbers, numCourses times EditText editText = (EditText) dialog.findViewById(R.id.editText2); //EditText String getInput = editText.getText().toString(); //String input try { courseNumbers[index] = Integer.parseInt(getInput); Toast.makeText(MainActivity.this, "" + courseNumbers[index], Toast.LENGTH_SHORT).show(); }catch (Exception ex){} //Dismiss dialog dialog.dismiss(); if(i < numCourses) showCourseDialog(++i, numCourses); } }); }

Not using loop, after each input has been clicked, then show the next dialog.

public void showCourseDialog(final int i, final int numCourses){ final int index = i; //Create a Dialog final Dialog dialog = new Dialog(MainActivity.this); dialog.setContentView(R.layout.input_dialog); TextView textView = (TextView) dialog.findViewById(R.id.textView4); textView.setText("" + i); dialog.show(); //Button for the dialog. Button b = (Button) dialog.findViewById(R.id.button); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //Get input Course Numbers, numCourses times EditText editText = (EditText) dialog.findViewById(R.id.editText2); //EditText String getInput = editText.getText().toString(); //String input try { courseNumbers[index] = Integer.parseInt(getInput); Toast.makeText(MainActivity.this, "" + courseNumbers[index], Toast.LENGTH_SHORT).show(); }catch (Exception ex){} //Dismiss dialog dialog.dismiss(); if(i < numCourses) showCourseDialog(++i, numCourses); } }); }

更多推荐

本文发布于:2023-08-03 09:54:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1387014.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:变量   variable   decrementing

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!