我有几个EditText字段,我想使用setOnFocusChangeListener将它们保存到SQLiteDatabase中。我需要为每个字段单独设置onFocusChangeListener吗,还是有一种总的解决方法?(使用getActivity().findViewByID因为这是一个片段)
final TextView txtName = (TextView)getActivity().findViewById(R.id.clientHeader);
final TextView txtCompany = (TextView)getActivity().findViewById(R.id.txtContactCompany);
final TextView txtPosition = (TextView)getActivity().findViewById(R.id.txtContactPosition);
txtName.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "name", txtName.getText().toString());
}
}
});
txtCompany.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "company", txtCompany.getText().toString());
}
}
});
txtPosition.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "position", txtPosition.getText().toString());
}
}
});
有没有办法创建一个 EditText Views 的 ArrayList<EditText>,将指针(不确定如何实现)分配给现有的 editText 并将 onFocusChangeListener 设置为整个 ArrayList?还是说,遍历 ArrayList 并将 onFocusChangeListener 设置给每个成员?
或者有没有一种方法可以检测到任何 onFocusChangeListener 事件,并将所有数据保存到数据库中,而不管事件发生在哪个 EditText 上?
OnFocusChangeListener
而不是OnFocusChange-d-Listener
吗?(为了清晰起见添加连字符。)显然这不是什么大问题,但我还是花了一分钟才弄明白。 - Kirk