2012-04-22 27 views
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輸入值的控件,當輸入值不正確時向我顯示警報,因爲現在應用程序當輸入不正確時崩潰。由於在此代碼中的輸入值上插入一個控件

回答

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(); 
} 
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(); 
} 
}); 

離開我評論,如果你的代碼如下任何問題。

+0

我曾想過嘗試{} catch {},並在輸入錯誤時向我顯示一條錯誤消息的alertdialog,並允許我更正條目 – bisemanu 2012-04-22 17:09:13

+0

我認爲您有所需的所有答案。快樂編碼。 – 2012-04-22 17:14:16

2

有兩種方法來對付它:

一個你不會允許用戶鍵入錯誤的輸入。如果您的輸入是預定義類型之一,則設置input type for EditText將有所幫助。如果這還不夠,您可以嘗試TextView's addTextChangedListener。由於EditText延伸TextView您也可以在EditText上使用它。

,如果你想在用戶按下按鈕後檢查的有效性,那麼你必須弄清楚輸入二是invalide喜歡通過捕捉NumberFormatException等等,那麼你可以通過調用顯示一個對話框,用戶在onClick處理程序如果您不使用片段,則使用showDialog,如果使用片段,則使用DialogFragment

相關問題