Android EditText onKeyUp



刚开始使用android,想在edittext上找出keyUp。我遵循了有关 keyUp 的各种教程,它可以工作,但只能在按下后退按钮时。我希望它适用于类型。就像电话簿一样,当您键入时,将触发一些事件。

我的代码:

    private EditText input;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_contacts);
        addKeyListener();
    }
    public void addKeyListener() {
        input = (EditText) findViewById(R.id.names);
        input.setOnKeyListener(new OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                Toast.makeText(Contacts.this,
                        input.getText() + " you have typed", Toast.LENGTH_SHORT)
                        .show();
                return true;
            }
        });
    }
当前代码仅适用于后退按钮,

如果我按后退按钮,那么Toast就会到来。

import android.text.TextWatcher;

..

您可以将文本观察器添加到文本字段。在您的情况下,这将看起来像这样:

  EditText in = new EditText(this); 
  in.addTextChangedListener(new TextWatcher() { 
    public void onTextChanged(CharSequence cs, int s, int b, int c) { 
      Log.i("Key:", cs.toString()); 
    } 
    public void afterTextChanged(Editable editable) { } 
    public void beforeTextChanged(CharSequence cs, int i, int j, int 
k) { } 
  }); 

最好

如果用户在 EditText 上键入 Chack,并且在 TextChanged 上,您可以使用触发器:)希望它有帮助:)

    EditText mTextPhoneNumber;
    mTextPhoneNumber = (EditText)findViewById(R.id.example);
        mTextPhoneNumber.addTextChangedListener(new TextWatcher() {
                            @Override
                            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                            }
                            @Override
                            public void onTextChanged(CharSequence s, int start, int before, int count) {
                              Log.d("LOGER" , s.length()+""); // show the count of the Text in the TextView                        
                            }
                            @Override
                            public void afterTextChanged(Editable s) {
                            }

});

相关内容

  • 没有找到相关文章

最新更新