2017-06-25 9 views
0

私はアンドロイドプログラミングに慣れています。ボタンのクリックで別のアクティビティを開く際に問題に直面しています。また、私が書いたコードを添付しています。インテントアンドロイドスタジオの仕事をしない理由

これは私のMainActivityクラス:

public class MainActivity extends AppCompatActivity{ 
    TextView ed1; 
    Button btn; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ed1=(TextView) findViewById(R.id.textView1); 
     btn=(Button)findViewById(R.id.button); 

     btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent i = new Intent(getApplicationContext(),LoginScreen.class); 
       startActivity(i); 
      } 
     }); 
    } 
} 

そして、次のように私のLoginScreenクラスは次のとおりです。

public class LoginScreen extends AppCompatActivity { 
    TextView tv; 
    EditText ed1,ed2; 
    Button btn1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.login_screen); 
     tv=(TextView)findViewById(R.id.textView1); 
     ed1=(EditText)findViewById(R.id.editText1); 
     ed2=(EditText)findViewById(R.id.editText2); 

     btn1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       String name= ed1.getText().toString(); 
       String pass=ed2.getText().toString(); 
       if(name.equals(" ")|| pass.equals(" ")){ 
        Toast.makeText(getApplicationContext(),"Required Field",Toast.LENGTH_SHORT).show(); 
       } 
       else{ 
        Toast.makeText(getApplicationContext(),"Login Successfull",Toast.LENGTH_LONG).show(); 
       } 
      } 
     }); 
    } 
} 

このコードを実行した後、最初のクラスすなわちMainActivity実行された後そのデバイスは、プログラムが動作を停止したことを表示します。

+1

** WILD GUESS **(あなたはlogcatを投稿していません):あなたは 'NullPointerException'を取得します。私はすでにそれが起こる場所を見ることができます。 –

+1

質問を編集してください。何を求めているのかははっきりしていません。あなたのコードを最小限に抑え、あなたが(もしあれば)取得している例外を記述してください。 –

答えて

1

LoginScreenクラスに問題があります。 OnClickListenerを設定する前にbtn1を初期化するのを忘れた。

public class LoginScreen extends AppCompatActivity { 
    TextView tv; 
    EditText ed1,ed2; 
    Button btn1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.login_screen); 
     tv=(TextView)findViewById(R.id.textView1); 
     ed1=(EditText)findViewById(R.id.editText1); 
     ed2=(EditText)findViewById(R.id.editText2); 
     btn1=(Button)findViewById(R.id.button1); 

     btn1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       String name= ed1.getText().toString(); 
       String pass=ed2.getText().toString(); 
       if(name.equals(" ")|| pass.equals(" ")){ 
        Toast.makeText(getApplicationContext(),"Required Field",Toast.LENGTH_SHORT).show(); 
       } 
       else{ 
        Toast.makeText(getApplicationContext(),"Login Successfull",Toast.LENGTH_LONG).show(); 
       } 
      } 
     }); 
    }  
} 
関連する問題