2014-05-24 81 views
1

我想添加一個方法來執行一個軟鍵輸入(或任何右下角的鍵將是,我假設它通常是一個輸入/完成鍵)功能一旦編輯文本字段已填入數字。我還有一個計算按鈕,我想保留這個按鈕以嘗試對應用程序進行一些「白癡驗證」。下面是我的代碼到目前爲止的片段;這部分工作:執行功能在軟鍵輸入

  1. onCalculate指的是我有的按鈕。
  2. 我有檢查空值和其他任何錯誤。

    的EditText東西

    公共無效onCalculate(視圖v){

    做的東西.... }

我想下來這裏 '做的東西' 添加的東西用戶按下完成/回車/右下方軟鍵而不是按下按鈕的事件。下面是我的佈局XML片段:

<EditText 
android:id="@+id/editText1" 
android:layout_width="100dp" 
android:layout_height="wrap_content" 
android:layout_alignParentLeft="true" 
android:layout_below="@+id/textView1" 
android:layout_marginTop="20dp" 
android:ems="10" 
android:inputType="numberDecimal" 
android:textSize="15sp" /> 

<Button 
android:id="@+id/button1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_below="@+id/editText1" 
android:layout_margin/> 

我知道我可能需要創建某種關鍵聽者的回車鍵,但我不知道如何去做。

回答

0

您可以通過將OnEditorActionListener關聯到EditText來實現此目的。例如:

editText1.setImeOptions(EditorInfo.IME_ACTION_DONE); 
editText1.setOnEditorActionListener(new new OnEditorActionListener() 
{ 
    @Override 
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) 
    { 
     if ((actionId & EditorInfo.IME_MASK_ACTION) == EditorInfo.IME_ACTION_DONE) 
     { 
      onCalculate(editText1); 
      return true; 
     } 
    } 
}); 
+0

所以,我基本上是圍繞我已經存在的代碼執行時,計算按鈕被按下時,代碼(上述)的'監聽'部分? –

+0

您可以添加此代碼(例如在'onCreateView()')中以設置一個'OnEditorActionListener'。這個監聽器應該調用你之前的「calculate」方法(就像我提供的例子),就是這樣。 – matiash