diff --git a/app/src/main/java/com/training/simpleloginform/MainActivity.java b/app/src/main/java/com/training/simpleloginform/MainActivity.java
index 5203a8a..121e387 100644
--- a/app/src/main/java/com/training/simpleloginform/MainActivity.java
+++ b/app/src/main/java/com/training/simpleloginform/MainActivity.java
@@ -3,22 +3,36 @@
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.view.View;
+import android.widget.ArrayAdapter;
+import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* Assignment add validation to edit text fields
*
* if an edit text is empty, show a toast that says "edit text cannot be empty", where edit text can be username or password
*/
-public class MainActivity extends AppCompatActivity implements View.OnClickListener {
+public class MainActivity extends AppCompatActivity implements View.OnClickListener, TextWatcher {
- private EditText usernameEditText;
+ private AutoCompleteTextView usernameEditText;
private EditText passwordEditText;
private Button submitButton;
private Button resetButton;
+ Names names = new Names();
+
+ List namesList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -29,24 +43,36 @@ protected void onCreate(Bundle savedInstanceState) {
submitButton = findViewById(R.id.submit_button);
resetButton = findViewById(R.id.reset_button);
+ namesList.addAll(names.getNames());
+
+ usernameEditText.addTextChangedListener(this);
+ usernameEditText.setAdapter(new ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line, namesList));
+
submitButton.setOnClickListener(this);
resetButton.setOnClickListener(this);
+
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.submit_button:
- Intent i = new Intent(this, SecondActivity.class);
- i.putExtra("username", usernameEditText.getText().toString());
- i.putExtra("password", passwordEditText.getText().toString());
- startActivity(i);
+ Intent intent = new Intent(this, SecondActivity.class);
+ intent.putExtra("username", usernameEditText.getText().toString());
+ intent.putExtra("password", passwordEditText.getText().toString());
+ startActivity(intent);
+
+ usernameDetailsTextView.setText(username);
+ passwordDetailsTextView.setText(password);
+
+ if(!namesList.contains(username)){
+ namesList.add(username);
+ }
break;
case R.id.reset_button:
setResetButton();
-
break;
}
}
@@ -57,4 +83,21 @@ public void setResetButton() {
}
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+ usernameEditText.setAdapter(new ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line, namesList));
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+
+ }
}
diff --git a/app/src/main/java/com/training/simpleloginform/Names.java b/app/src/main/java/com/training/simpleloginform/Names.java
new file mode 100644
index 0000000..ab2b58c
--- /dev/null
+++ b/app/src/main/java/com/training/simpleloginform/Names.java
@@ -0,0 +1,22 @@
+package com.training.simpleloginform;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Names {
+
+ List names = new ArrayList<>();
+
+ public List getNames() {
+
+ names.add("Desmond");
+ names.add("Dean");
+ names.add("Sidd");
+ names.add("Nahi");
+ names.add("Iliana");
+ names.add("Sulekha");
+ names.add("Damian");
+
+ return names;
+ }
+}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index aa72deb..324573f 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -20,12 +20,13 @@
android:textColor="@android:color/holo_green_dark"
android:textStyle="bold" />
-
+ android:hint="@string/username_edit_text_hint"
+ android:completionThreshold="1"/>
diff --git a/app/src/main/res/layout/activity_second.xml b/app/src/main/res/layout/activity_second.xml
index 40f35b4..e939848 100644
--- a/app/src/main/res/layout/activity_second.xml
+++ b/app/src/main/res/layout/activity_second.xml
@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_margin="20dp"
+ android:layout_margin="@dimen/margin"
android:orientation="vertical"
tools:context=".SecondActivity">
@@ -17,9 +17,9 @@
android:id="@+id/username_label_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
- android:hint="Username : "
- android:textSize="20dp"
+ android:layout_margin="@dimen/margin"
+ android:hint="@string/username"
+ android:textSize="@dimen/txt_size"
android:textStyle="bold" />
@@ -27,8 +27,8 @@
android:id="@+id/username_details_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
- android:textSize="20dp"
+ android:layout_margin="@dimen/margin"
+ android:textSize="@dimen/txt_size"
android:textStyle="bold" />
@@ -41,9 +41,9 @@
android:id="@+id/password_label_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
- android:hint="Password : "
- android:textSize="20dp"
+ android:layout_margin="@dimen/margin"
+ android:hint="@string/password"
+ android:textSize="@dimen/txt_size"
android:textStyle="bold" />
@@ -51,8 +51,8 @@
android:id="@+id/password_details_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
- android:textSize="20dp"
+ android:layout_margin="@dimen/margin"
+ android:textSize="@dimen/txt_size"
android:textStyle="bold" />
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 460ffe4..f23d2bc 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -1,4 +1,7 @@
20dp
+ 20dp
+ 20dp
+ 20sp
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index f8500ac..1b6ee8c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -6,4 +6,6 @@
Password
Submit
reset
+ Username :
+ Password :