EditText上的事件

时间:2011-04-29 16:37:45

标签: android

我有一个edittext名称说eid ..现在我想要的是一旦用户输入eid值..另一个edittext说“oid”现在oid应该自动生成它的值超出eid中输入的值.so我应该用哪个事件来完成上述任务.. PLZ帮助我在android中非常新的

5 个答案:

答案 0 :(得分:8)

您可以在编辑文本上使用textWatcher,它会在编辑文本中获取所有更改,并触发相应的功能。

eid.addTextChangedListener(new TextWatcher() {
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    public void afterTextChanged(Editable s) {
        // set oid value now
        oid.setText(eid.getText().toString());
    }
});

每当文本改变“eid”方法时,将调用afterTextChanged并且它也将设置oid的值。

答案 1 :(得分:4)

如果您有两个具有两个不同名称的edittextbox 对于前et1和et2然后你可以为它们编写事件处理程序,如

et1= (EditText) findViewById(R.id.EditText01);
et2= (EditText) findViewById(R.id.editText1);


et1.addTextChangedListener(new TextWatcher() {
    public void onTextChanged(CharSequence s, int start, int before, int count) {


    }
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    public void afterTextChanged(Editable s) {

    }
});


et2.addTextChangedListener(new TextWatcher() {

    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // TODO Auto-generated method stub

    }

    public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
        // TODO Auto-generated method stub
    }

    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub

    }
});

答案 2 :(得分:1)

Here是关于如何在EditText字段上获取“更改”事件的博文。从eid获取值后,只需将其放入oid

答案 3 :(得分:1)

我认为你要的是一个OnFocusChangeListener。在您的活动中创建一个私有子类:

public MyActivity extends Activity {

  private class MyFocusChangeListener implements OnFocusChangeListener {
    private EditText editText;

    public MyFocusChangeListener(EditText editText) {
      this.editText = editText;
    }

    @Override
    public void onFocusChange(View view, boolean isFocused) {
      if (!isFocused) {
        // View lost focus - now do your stuff
      }
    }
  }

  @Override
  public void onCreate(Bundle bundle) {
    // ...
    editText.setOnFocusChangeListener(new MyFocusChangeListener(editText));
    // ...
  }
}

答案 4 :(得分:-1)

如果你是Android的新手,为什么不首先阅读一些教程......你也可以在edittext前面使用一个按钮,当用户按下那个按钮时,你可以做任何你想做的事..... / p>