, , - , - :
1. Adapter, RepeatEntryListAdapter listDatap >
public ArrayList<RepeatEntryList> listData;
2. listData RepeatEntryList, getter setter, .
public RepeatEntryListAdapter(Context context,ArrayList<RepeatEntryList> listdata){
this.listData = listdata;
this.contx = context;
mainActivity = (MainActivity) context;
layoutInflater= LayoutInflater.from(context);
}
3. getview click . click getter, getter settext, , lisDatastrong > . listDatastrong > , , listDatastrong > varaible like .
RepeatEntryList re = rListData;
viewHolder.btnDate.setText('07-06-2015')
listData.set(position, re);
4. , , edittext, . .
. , TextWatcher
class EditTextWatcher implements TextWatcher{
private int mPosition;
private boolean mActive;
void setPosition(int position){
mPosition = position;
}
void setActive(boolean active){
mActive = active;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if(mActive){
RepeatEntryList re = listData.get(mPosition);
re.setNotes(s.toString());
listData.set(mPosition,re);
}
}
}
. EditeTextWatcher ViewHolder
static class ViewHolder{
public Button btnDate;
public EditText txtNotes;
public EditTextWatcher mWatcher;
}
. getview EditTextWatcher(), textwatcher , textwatcher
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder;
final RepeatEntryList rListData = listData.get(position);
if(convertView == null){
convertView = layoutInflater.inflate(R.layout.repeat_entry_listview,null);
viewHolder = new ViewHolder();
viewHolder.btnDate = (Button) convertView.findViewById(R.id.rpbtnDate);
viewHolder.mWatcher = new EditTextWatcher();
viewHolder.txtNotes = (EditText) convertView.findViewById(R.id.rpNotes);
viewHolder.txtNotes.addTextChangedListener(viewHolder.mWatcher);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.btnDate.setText(rListData.getDate());
viewHolder.mWatcher.setActive(false);
viewHolder.txtNotes.setText(rListData.getNotes());
viewHolder.mWatcher.setPosition(position);
viewHolder.mWatcher.setActive(true);
return convertView;
}