package org.adaptlab.chpir.android.survey.QuestionFragments;
import org.adaptlab.chpir.android.survey.QuestionFragment;
import org.adaptlab.chpir.android.survey.R;
import android.text.Editable;
import android.text.InputType;
import android.text.TextWatcher;
import android.view.ViewGroup;
import android.widget.EditText;
public class FreeResponseQuestionFragment extends QuestionFragment {
private String mText = "";
private EditText mFreeText;
// This is used to restrict allowed input in subclasses.
protected void beforeAddViewHook(EditText editText) {
}
@Override
public void createQuestionComponent(ViewGroup questionComponent) {
mFreeText = new EditText(getActivity());
mFreeText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
beforeAddViewHook(mFreeText);
mFreeText.setHint(R.string.free_response_edittext);
mFreeText.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
mText = s.toString();
saveResponse();
}
// Required by interface
public void beforeTextChanged(CharSequence s, int start,
int count, int after) { }
public void afterTextChanged(Editable s) { }
});
questionComponent.addView(mFreeText);
}
@Override
protected String serialize() {
return mText;
}
@Override
protected void deserialize(String responseText) {
mFreeText.setText(responseText);
}
}