Android Edittext With Listview Detecting Change
I have a simple listview with a TextView and an Editview that is populated using the SimpleCursorAdapter from a SQLITE query. I am trying to figure out when the user has left the
Solution 1:
The view you are receiving from getView
is not inflated into ListView
, so your TextWatcher
is not working as expected. To make it work you have to create your own adapter. For example
public class MySimpleCursorAdapter extends SimpleCursorAdapter {
public MySimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags) {
super(context, layout, c, from, to, flags);
}
@Override
public View getView(int pos, View v, ViewGroup parent) {
v = super.getView(pos, v, parent);
final EditText et = (EditText) v.findViewById(R.id.classpercentage);
et.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) { Log.d("TEST", "In afterTextChanged"); }
public void beforeTextChanged(CharSequence s, int start, int count, int after) { Log.d("TEST", "In beforeTextChanged"); }
public void onTextChanged(CharSequence s, int start, int before, int count) { Log.d("TEST", "In onTextChanged"); }
});
return v;
}
}
and then you method will be modified to this
private void showClasses(Cursor cursor) {
SimpleCursorAdapter adapter = new MySimpleCursorAdapter(this, R.layout.classrow, cursor, FROM, TO);
setListAdapter(adapter);
}
Post a Comment for "Android Edittext With Listview Detecting Change"