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