2017-01-11 15 views
-2

すべての編集テキストに何かが含まれていなければ、登録ページを作ろうとしていますが、ユーザーは続けることができません。ワーキング。 なぜ私はアンドロイドスタジオで働いていないのですか

package com.example.nir.nestleapp; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 

import org.w3c.dom.Text; 

import java.util.jar.Attributes; 

public class RegisterActivity extends AppCompatActivity { 
MyDBHandler db; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_register); 
     TextView RegisterHead=(TextView)findViewById(R.id.RegisterHeadline); 
     RegisterHead.setTextSize(25); 
     Button CompleteRegister=(Button)findViewById(R.id.CompleteRegisterBtn); 
     final EditText RegisteredUser=(EditText)findViewById(R.id.RegisteredUser); 
     final EditText RegisteredPass=(EditText)findViewById(R.id.RegisteredPass); 
     final EditText RegisteredName=(EditText)findViewById(R.id.RegisteredFn); 
     final EditText RegisteredPhone=(EditText)findViewById(R.id.RegisteredPhone); 
     final EditText RegisteredID=(EditText)findViewById(R.id.RegisteredID); 
     final String User2String=String.valueOf(RegisteredUser.getText()); 
     final String Pass2String=String.valueOf(RegisteredPass.getText()); 
     final String Name2String=String.valueOf(RegisteredName.getText()); 
     final String Phone2String=String.valueOf(RegisteredPhone.getText()); 
     final String ID2String=String.valueOf(RegisteredID.getText()); 
     db=new MyDBHandler(this); 
     CompleteRegister.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if(User2String.equals("")||Pass2String.equals("")|| Name2String.equals("")||Phone2String.equals("")||ID2String.equals("")){ 
        Toast.makeText(RegisterActivity.this, "", Toast.LENGTH_SHORT).show(); 
       } 
       else { 
        UserTable NewUser=new UserTable(User2String,Pass2String,Name2String,Phone2String,ID2String); 
        db.Add(NewUser); 
        Toast.makeText(RegisterActivity.this, "", Toast.LENGTH_SHORT).show(); 
        startActivity(new Intent(RegisterActivity.this, LoginActivity.class)); 
       } 
      } 
     }); 
    } 
} 

と別の質問

は、なぜ私はSetonclicklistnerメソッドを使用するたびに行い、私はそれが自動的にのonCreateメソッド内で宣言された最終

+1

:だからあなたの問題はこれでのonCreateであなたのコードを置き換える修正する

。 onClickハンドラでこれらを呼び出すだけです。 –

+0

注意:Javaの命名規則では、変数名は小文字で始まると記載されています。クラス名のみが大文字で始まります –

答えて

2

あなたの文字列に変更し、私は法の外で宣言いくつかのパラメータを使用していますonClickメソッドで決して考慮されなかったユーザーの変更を意味します。 onClickメソッドで文字列を移動することで、問題を解決する必要があります。ユーザーがテキストを入力した前に、のEditTextの値に文字列を設定している

@Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_register); 
      TextView RegisterHead=(TextView)findViewById(R.id.RegisterHeadline); 
      RegisterHead.setTextSize(25); 
      Button CompleteRegister=(Button)findViewById(R.id.CompleteRegisterBtn); 
      final EditText RegisteredUser=(EditText)findViewById(R.id.RegisteredUser); 
      final EditText RegisteredPass=(EditText)findViewById(R.id.RegisteredPass); 
      final EditText RegisteredName=(EditText)findViewById(R.id.RegisteredFn); 
      final EditText RegisteredPhone=(EditText)findViewById(R.id.RegisteredPhone); 
      final EditText RegisteredID=(EditText)findViewById(R.id.RegisteredID); 

      CompleteRegister.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        final String User2String=String.valueOf(RegisteredUser.getText()); 
        final String Pass2String=String.valueOf(RegisteredPass.getText()); 
        final String Name2String=String.valueOf(RegisteredName.getText()); 
        final String Phone2String=String.valueOf(RegisteredPhone.getText()); 
        final String ID2String=String.valueOf(RegisteredID.getText()); 

        db=new MyDBHandler(this); 



        if(User2String.equals("")||Pass2String.equals("")|| Name2String.equals("")||Phone2String.equals("")||ID2String.equals("")){ 
         Toast.makeText(RegisterActivity.this, "", Toast.LENGTH_SHORT).show(); 
        } 
        else { 

         UserTable NewUser=new UserTable(User2String,Pass2String,Name2String,Phone2String,ID2String); 
         db.Add(NewUser); 
         Toast.makeText(RegisterActivity.this, "", Toast.LENGTH_SHORT).show(); 
         startActivity(new Intent(RegisterActivity.this, LoginActivity.class)); 
        } 
       } 
      }); 
     } 
関連する問題