Android 如何获取edittext中的文本到数组

Android 如何获取edittext中的文本到数组,android,Android,如何获取EditText的值,然后将其存储在数组中 这是我的完整代码: EditText op = (EditText)v.findViewById(R.id.operator); array=new int [Integer.valueOf(op.getText().toString())]; for (i = 0;i<(array.length+1);i++){ LayoutInflater inflater = MainActivity.this.getLayoutInfl

如何获取EditText的值,然后将其存储在数组中

这是我的完整代码:

EditText op = (EditText)v.findViewById(R.id.operator);
array=new int [Integer.valueOf(op.getText().toString())];

for (i = 0;i<(array.length+1);i++){
    LayoutInflater inflater = MainActivity.this.getLayoutInflater();
    final View v2=inflater.inflate(R.layout.inputangka, null) ;
    new AlertDialog.Builder(MainActivity.this)
        .setIcon(R.drawable.ic_launcher)
        .setTitle("number of-"+(i-1)+":")
        .setView(v2)
        .setNeutralButton("Ok", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dlg, int sumthin) {
                EditText number = (EditText)v2.findViewById(R.id.number);
                int number1 = Integer.valueOf(number.getText().toString());
                array [i]= number1; //error line

如何解决此问题?

之所以会出现这种情况,是因为在编辑文本中为ex输入了5。现在迭代循环,直到初始值0小于6

当计数器达到5时,您的条件将变为真5<6,但这里的数组大小为5,您正在访问第6个元素。因此它抛出了
ArrayIndexOutofBound异常

为了摆脱这个问题

试试这个。

for (i = 0; i<(array.length);i++){
    //Code
}

for(i=0;i从
for(i=0;i中删除+1)您只需要用以下代码替换for条件

for (i = 0;i<(array.length-1);i++){

for(i=0;i请参见,您的
onClick()
将在循环执行完成后执行,因此
i
的值比数组的上一个索引多一个。要解决此问题,请将该值保存到另一个临时整数变量中,然后发送它。这样肯定会起作用。

for(i=0;ii已删除+1,我正在重新编译,但我的错误相同,,,在数组[i]=number1上;第二个错误实际上不会导致异常。它只会将标题设置为
“number of--1:”
“number of-0:”
,等等。我已经删除了,然后我的问题是相同的,,,,,@user1759316相同的错误,然后发布我无法想象的日志默认异常:com.example.dialog\u looping.MainActivity$1$1.onClick(MainActivity.java:48)com.android.internal.app.AlertController$ButtonHandler.handleMessage上的main java.ArrayIndexOutOfBoundsExceptionandroid.os.Handler.dispatchMessage(Handler.java:99)在android.os.Looper.loop(Looper.java:123)在android.app.ActivityThread.main(ActivityThread.java:3683)在java.lang.reflect.Method.invokenactive(本机方法)在java.lang.reflect.Method.invoke(Method.java:507)@user1759316 MainActivity上写的内容。java:48您是否在java文件中更改了我上面所说的内容,并确保编译了java类。同样的错误,这是我的错误日志和完整代码是的,对不起,我是新手,请给我循环对话框的代码,,,我会给它,但逻辑是什么,我指的是您想要的我想创建对话框循环,如果我输入3,那么对话框循环3倍,我在对话框循环数组中的值存储,然后显示。如果我在对话框循环中第一个iam输入10,那么对话框显示10,第二个对话框我输入20,然后对话框显示10+20,我输入第三个30,然后对话框显示10+20+30,等等,取决于循环对话框的输入编号,请稍候,我是上传我的设计
for (i = 0;i<(array.length-1);i++){