执行软键输入功能

时间:2014-05-24 00:41:02

标签: android keylistener

我尝试添加一种方法来执行软键输入上的功能(或者无论右下角键是什么,我认为它通常是输入/完成键)一旦编辑文本字段被输入用数字填写。我还有一个计算按钮,我希望将其作为备份,以尝试“白痴证明”。应用程序一点点。下面是我的代码片段到目前为止;这部分工作:

  1. onCalculate指的是我的按钮。
  2. 我有错误检查空值和其他任何内容。

    EditText

    public void onCalculate(View v){

    做东西.... }

  3. 我想在这里添加一些东西来做什么'如果用户按下完成/输入/右下方软键而不是按下按钮。以下是我的布局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/>
    

    我知道我可能需要为回车键创建一些关键的监听器,但我不知道如何去做。

1 个答案:

答案 0 :(得分: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;
        }
    }
});