1
button = new Button (this);
button.setText("Insert values");
tableLayout.addView(secondo);

button.setOnClickListener(new OnClickListener(){
    public void onClick(View arg0) {
        for(int i = 0; i < r1; i++){
            for(int j = 0; j < c1;  j++){
                //insert values from a matrix of edittext in array      
                array[t] = Integer.parseInt(values[i][j].getText().toString()); 
                t++;
            }
        }
    }       
});

我想在这段代码中通过edittext对值的输入进行控制,当输入中的值不正确时向我显示警报,因为现在当输入不正确时应用程序崩溃。谢谢

4

3 回答 3

2
try {
    for(int i = 0; i < r1; i++){
        for(int j = 0; j < c1;  j++){
            //insert values from a matrix of edittext in array
            array[t] = Integer.parseInt(values[i][j].getText().toString());
            t++;
        }
    }
}
catch(NumberFormatException nfe) {
    AlertDialog.Builder builder;
    builder = new AlertDialog.Builder(MyActivityClassName.this);
    builder.setTitle("Error");
    builder.setMessage("Wrong input format"); 
    builder.setIcon(android.R.drawable.ic_dialog_alert);
    builder.setNeutralButton("OK", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
        }
    });
    builder.show();
}
于 2012-04-22T17:04:58.790 回答
2

有两种方法可以处理它:

一个你不会允许用户输入错误的输入。如果您的输入是预定义类型之一,则为 EditText设置输入类型会有所帮助。如果这还不够,您可以尝试TextView 的 addTextChangedListener。由于EditText扩展TextView,您也可以使用它EditText

其次,如果您想在用户按下按钮后检查有效性,那么您必须通过捕获等来确定输入是否无效。然后如果您不使用,您可以通过调用showDialogNumberFormatException在处理程序中向用户显示一个对话框如果您使用的是片段,则为片段和DialogFragment 。onClick

于 2012-04-22T17:06:54.577 回答
1

试试这个

final EditText enterABC = (EditText) findViewById(R.id.userinput_no_edittext);
Button okButton = (Button) findViewById(R.id.userinput_ok_button);
okButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// read from EditText when user presses OK button
    mVariable = enterABC.getText().toString();
 }
});

如果您对代码有任何问题,请给我留言。

于 2012-04-22T16:58:58.293 回答