2013-01-17 44 views
0

如何計算按鍵實時數?或通過按鍵? 這裏是我的代碼:如何計算Android中的按鍵實時數

public class MyActivity extends Activity implements View.OnClickListener, View.OnKeyListener { 
    /** 
    * Called when the activity is first created. 
    */ 
    EditText ed 

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

     ed=(EditText)findViewById(R.id.editText); 
     ed.setOnKeyListener(this); 
     } 

    @Override 
    public boolean onKey(View view, int i, KeyEvent keyEvent) { 

      keyCounter++; 
     Log.d("key","" + keyEvent.getKeyCode()); 

    return super.onKeyUp(i, keyEvent) ; 
    } 

    @Override 
    public boolean onKeyUp(int keyCode, KeyEvent event) { 
     switch (keyCode) { 
      case KeyEvent.KEYCODE_B: 

       keyCounter++; 
       return true; 
     } 

     return super.onKeyUp(keyCode, event); 
    } 
} 

我試用過的onkeyup和關鍵..但它沒有工作; I烘烤keyCounter的值,但仍爲零。任何人都知道如何在android中獲取按鍵的數量?謝謝。

+1

Toast是來調試可怕的方式..有你sonsidered Log.d( 「標籤」, 「Soemthing」) –

回答

1

你用真正的鍵盤還是軟件鍵盤?當硬件鍵事件被調度到該視圖被調用

android.view.View.OnKeyListener

類概述

接口回調定義。

看看你是否可以改用TextChangedListener。

myEditText.addTextChangedListener(new TextWatcher(){ 
     public void afterTextChanged(Editable s) {} 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) {} 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      //do stuff 
     } 

    }); 

其他的事情:

1)使用Log.d代替麪包。

2)嘗試keyCounter ++;無條件查看是否調用onKey。

3)改變返回false /真返回super.onKey(的keyCode,事件)

+0

沒有對不起..我只是把它放在了錯誤的地方..讓我編輯它.. – thenewbie

+0

刪除if部分來檢查是否調用onKey。 –

+0

不起作用。我使用了log.d()。 – thenewbie