2012-02-14 19 views
1

私はアンドロイドのキーパッドのいくつかのキーを無効にしようとしています。たとえば、テンキーが開かれているとき+、 - などのボタンを無効にしたいのですが。 どうすればいいですか?あなたは(あなたのカスタムのEditTextである)XMLでNoImeEditTextとしてエディットテキストを定義する必要がありますアンドロイドキーパッドのボタンを無効にする

よろしく

+0

はあなたがそれを解決しましたか?はい、あなたはその後、 – Sameer

+0

を受け入れてくださいそれらの間のいずれかの答えのような場合だけでなく、私は –

答えて

0

利用を押した場合、これは、あなたが+無効にするか、カントこの

@Override 
public boolean onKeyUp(int keyCode, KeyEvent event) { 
    if(keyCode==70){ 
     //do nothing /// 
     Log.i("ss","dd"); 
     String str=edit.getText().toString().replace("+",""); 
     edit.setText(str); 
    } 
    return super.onKeyUp(keyCode, event); 
} 
+0

が、それは私のエミュレータで//ここに動作を期待:(ませんでしたother.And助けるためにあなたの答えを投稿した場合+キーはキーコード70を与えるので、私は70と比較しています – Sameer

0

は、その後、NoImeEditTextら=(NoImeEditText)findViewById(R.id.itsId)が動作するはずです。

public class NoImeEditText extends EditText { 
    public EditTextEx(Context context, AttributeSet attrs) { 
    super(context, attrs);  
    }  
    @Override  
    public boolean onCheckIsTextEditor() { 
    return false;  
    }   
    } 
0

のようなのEditTextから+を削除+キーを検出 - キーパッドからキーを。ただし、ユーザーがそのキーを入力するのを制限することができます。

@Override 
public boolean onKeyUp(int keyCode, KeyEvent event) { 
    if(keyCode==70){ 
     //do nothing /// 
     Log.i("ss","dd"); 
     String str=edit.getText().toString().replace("+",""); 
     edit.setText(str); 
    } 
    return super.onKeyUp(keyCode, event); 
} 
関連する問題