2012-05-09 2 views
2

내가 키보드 리스너를 추가하기 위해 노력하고 ...안드로이드 숫자 키보드

txta1cresult.setOnEditorActionListener(new OnEditorActionListener() { 
    public boolean onEditorAction(TextView v,int actionId, KeyEvent event) { 
     if(actionId==EditorInfo.IME_ACTION_DONE){ 
      calculate(); 
     } 
    return false; 
    } 
}); 

그러나, 나는 다음과 같은 컴파일러 오류를 얻고있다 ...

/home/jocala/hba1c/src/com/android/hba1c.java:82: cannot find symbol 
symbol : class OnEditorActionListener 
location: class com.jocala.hba1c.hba1c 
txta1cresult.setOnEditorActionListener(new OnEditorActionListener() {   

이 내 EditText입니다 ...

<EditText 
    android:id="@+id/txta1cresult" 
    android:inputType="numberDecimal" 
    android:layout_width="80px" 
    android:maxLength="5" 
    android:layout_height="40px" 
    android:textSize="18sp" 
    android:layout_x="200px" 
    android:layout_y="32px" 
    > 
</EditText> 

내가 EditTextTextView가 아닌 다른 무언가를 가져해야합니까? 여기에 뭔가 다른 점이 있습니까? 수입을 고정하고 남은

[javac] Compiling 3 source files to /home/jeff/hba1c/bin/classes 
    [javac] /home/jeff/hba1c/src/com/android/hba1c.java:83: cannot find symbol 
    [javac] symbol: class KeyEvent 
    [javac]  public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
    [javac]              ^
[javac] /home/jeff/hba1c/src/com/android/hba1c.java:84: cannot find symbol 
[javac] symbol: variable EditorInfo 
[javac]   if(actionId==EditorInfo.IME_ACTION_DONE){ 
[javac]     ^
[javac] 2 errors 

2 오류 :

이 코드 질식 표시
[javac] Compiling 2 source files to /home/jeff/hba1c/bin/classes 
[javac] /home/jeff/hba1c/src/com/android/hba1c.java:161: cannot find symbol 
[javac] symbol: class KeyEvent 
[javac]  public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
[javac]               ^
[javac] /home/jeff/hba1c/src/com/android/hba1c.java:162: cannot find symbol 
[javac] symbol: variable EditorInfo 
[javac]   if(actionId==EditorInfo.IME_ACTION_DONE){ 
[javac]     ^
[javac] 2 errors 

:

수입 android.view :

public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
    if(actionId==EditorInfo.IME_ACTION_DONE){ 
     calculate(); 
    } 

마지막 고정. KeyEvent; 가져 오기 android.view.inputmethod.EditorInfo;

감사합니다. 당신은, 이와 관련 TextView.OnEditorActionListener

을 가져 KeyEvent 매개 변수에주의를 지불 할 필요가 같은

+0

도와주세요. 그게 확실하지 않다면 자바를 배우십시오. 그냥 '완료'소프트 키보드가 눌러 졌을 때 동작을 수행하기를 원할 것입니다. – Jocala

답변

0

는 것 같습니다. 액션이 Enter 키 (원하는 것을 들려주는 것)에 의해 트리거 된 경우 해당 매개 변수에 저장됩니다. int 매개 변수에서 수집하는 대신 시도해보십시오.

+0

고맙습니다. 청취자는 시정 후 2 개의 오류로 실패합니다. 어떤 도움을 주셔서 감사합니다. – Jocala

+0

고침, 고마워! – Jocala

+0

import android.view.KeyEvent; 가져 오기 android.view.inputmethod.EditorInfo; – Jocala

0

코드에 android.widget.TextView.OnEditorActionListener을 가져와야합니다.

또는이에서 리스너 ... 이것에

txta1cresult.setOnEditorActionListener(new OnEditorActionListener() { 

을 ... 변경

txta1cresult.setOnEditorActionListener(new TextView.OnEditorActionListener() { 

당신이 얻고있는 컴파일러 오류가 기본적으로 그렇게 말하고있는 것이 무엇인지를 모르고있다 OnEditorActionListener이 있으므로 가져 오기를해야합니다.

+0

감사합니다. 청취자는 시정 후 2 개의 오류로 실패합니다. 어떤 도움을 주셔서 감사합니다. – Jocala

+0

고침. 고마워. – Jocala