diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4f19a48..3daace8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,7 +3,6 @@ xmlns:tools="http://schemas.android.com/tools" package="com.example.cosmosclient"> - android:hardwareAccelerated="true" diff --git a/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java b/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java index b1dff9b..5cd5c53 100644 --- a/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java +++ b/app/src/main/java/com/example/cosmosclient/views/SignupActivity.java @@ -3,6 +3,8 @@ import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.text.Editable; +import android.text.TextWatcher; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -19,8 +21,12 @@ import retrofit2.Retrofit; import retrofit2.converter.jackson.JacksonConverterFactory; -public class SignupActivity extends AppCompatActivity { +public class SignupActivity extends AppCompatActivity{ // public static final String UserInfomation="com.example.cosmosclient.views"; + private boolean nameEnable; + private boolean pwEnable; + private boolean cpwEnable; + private Button MakeAccountButton; @Override protected void onCreate(Bundle savedInstanceState) { @@ -38,22 +44,31 @@ //各種idを取得 Button LoginButton = findViewById(R.id.LoginButton); - Button MakeAccountButton = findViewById(R.id.MakeAccountButton); + MakeAccountButton = findViewById(R.id.MakeAccountButton); final EditText NameText = findViewById(R.id.NameText); final EditText PasswordText = findViewById(R.id.PasswordText); final EditText ConfirmPasswordText = findViewById(R.id.ConfirmPasswordText); + //入力欄監視 + NameText.addTextChangedListener(new GenericTextWatcher(NameText)); + PasswordText.addTextChangedListener(new GenericTextWatcher(PasswordText)); + ConfirmPasswordText.addTextChangedListener(new GenericTextWatcher(ConfirmPasswordText)); + //MakeAccountButton.setEnabled(false); //Make Accountボタンの処理 MakeAccountButton.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ + String pw = PasswordText.getText().toString(); + String confirmPw = ConfirmPasswordText.getText().toString(); + //パスワードと確認パスワードが一致していない際の処理 -// if(PasswordText.getText().toString().equals(ConfirmPasswordText.getText().toString()) == false){ -// Toast.makeText(SignupActivity.this,"入力されたパスワードが一致しません。",Toast.LENGTH_SHORT); -// return; -// } + if(!pw.equals(confirmPw)){ + PasswordText.setError("入力されたパスワードが一致しません"); + ConfirmPasswordText.setError("入力されたパスワードが一致しません"); + return; + } //API呼び出しのための値入力 Call call = signup.listUser(NameText.getText().toString(), PasswordText.getText().toString(),"https://yumenavi.info/live/2018/photo/k/s015980019.jpg"); @@ -80,6 +95,7 @@ finish(); }else{ + //onFailureでキャッチできないエラー用 Toast.makeText(SignupActivity.this, "アカウント作成失敗",Toast.LENGTH_SHORT); } @@ -105,6 +121,52 @@ finish(); } }); - } + + //入力欄監視処理内容 + private class GenericTextWatcher implements TextWatcher{ + private View view; + + private GenericTextWatcher(View view){ + this.view = view; + } + + @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){ + switch(view.getId()) { + case R.id.NameText: + if (s.length() > 0) { + nameEnable = true; + } else { + nameEnable = false; + } + break; + case R.id.PasswordText: + if(s.length()>5){ + pwEnable=true; + }else{ + pwEnable=false; + } + break; + case R.id.ConfirmPasswordText: + if(s.length()>5){ + cpwEnable=true; + }else{ + cpwEnable=false; + } + break; + } + //ボタン有効&無効 + if(nameEnable && pwEnable && cpwEnable){ + MakeAccountButton.setEnabled(true); + }else{ + MakeAccountButton.setEnabled(false); + } + } + } + }