2012-11-10 37 views
1

请尝试运行此应用程序时停止。android:OnEditorActionListener停止应用程序

问题是与OnEditorActionListener,如果我删除应用程序加载并运行正常。

import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.TextView.OnEditorActionListener; 
import android.widget.Toast; 

public class IMEDemo2 extends Activity 
{  EditText et; 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      et.setOnEditorActionListener(new OnEditorActionListener() { 
       public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
        } 
        Toast.makeText(getApplicationContext(), "OK", Toast.LENGTH_LONG).show();  
        return true; 
       } 
      });    
    } 

}

+1

请发布LogCat错误。你的'onEditorAction()'方法中也有一个错误的大括号('}'),我不明白它是如何编译的。 – Sam

回答

1

您还没有初始化你et场,所以当你尝试设置监听器,你会得到一个NullPointerException

要初始化et,把...

et = (EditText) findViewById(R.id.myEditText); 

...行et.setOnEditorActionListener(...)之前。

在我的示例中将R.id.myEditText更改为main.xml文件中的任何资源ID。

+0

谢谢,我犯的愚蠢的错误... –

+0

@ pietmau:单击我的答案左侧的复选符号以接受它,如果它解决了您的问题。 – Squonk

0

我想你需要通过使用 的EditText等=(EditText上)findViewById(R.I'd.EDITTEXT) 全部大写进一步定义编辑文本不管你设置我最好在你的XML文件