2012-11-10 118 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文件