I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 02c370a0 authored by str4d's avatar str4d
Browse files

Added input validation support to SingleTextFieldPage

parent 4810c9e9
No related branches found
No related tags found
Loading
......@@ -37,6 +37,10 @@
android:inputType="text"
android:layout_marginBottom="16dp" />
<TextView android:id="@+id/wizard_text_field_feedback"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView style="@style/WizardFormLabel"
android:id="@+id/wizard_text_field_desc" />
......
......@@ -47,7 +47,7 @@ public class SingleTextFieldPage extends Page {
@Override
public boolean isCompleted() {
return !TextUtils.isEmpty(mData.getString(SIMPLE_DATA_KEY));
return (!TextUtils.isEmpty(mData.getString(SIMPLE_DATA_KEY))) && isValid();
}
public SingleTextFieldPage setDefault(String def) {
......@@ -67,4 +67,18 @@ public class SingleTextFieldPage extends Page {
public String getDesc() {
return mDesc;
}
// Override these in subclasses to add content verification.
public boolean isValid() {
return true;
}
public boolean showFeedback() {
return false;
}
public String getFeedback() {
return "";
}
}
......@@ -39,6 +39,7 @@ public class SingleTextFieldFragment extends Fragment {
private String mKey;
private SingleTextFieldPage mPage;
private TextView mFieldView;
private TextView mFeedbackView;
public static SingleTextFieldFragment create(String key) {
Bundle args = new Bundle();
......@@ -76,6 +77,9 @@ public class SingleTextFieldFragment extends Fragment {
mFieldView.setText(mPage.getDefault());
mPage.getData().putString(Page.SIMPLE_DATA_KEY, mPage.getDefault());
}
mFeedbackView = (TextView) rootView.findViewById(R.id.wizard_text_field_feedback);
return rootView;
}
......@@ -112,6 +116,9 @@ public class SingleTextFieldFragment extends Fragment {
mPage.getData().putString(Page.SIMPLE_DATA_KEY,
(editable != null) ? editable.toString() : null);
mPage.notifyDataChanged();
if (mPage.showFeedback()) {
mFeedbackView.setText(mPage.getFeedback());
}
}
});
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment