0

最初の画面に EditText とボタンが表示されるシンプルな Android アプリを作成しています。EditText に「1234」(引用符は含まれません) と入力してから Button をクリックすると、アプリは別のアクティビティに制御を転送します。 .

コードの一部は次のとおりです。

final EditText enterPass;
Button submit;
enterPass = (EditText) findViewById(R.id.password);
submit = (Button) findViewById(R.id.submit);
    submit.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String pass = enterPass.getText().toString();
            if(pass.contentEquals("1234")){
                Intent adder = new Intent("com.example.pointsadder.Adder");
                  startActivity(adder); 
            }
        }
    });

Eclipse はプロジェクトのどの部分にもエラーをまったく表示していませんが、プロジェクトを実行すると、「1234」と入力して [送信] をクリックすると、次のメッセージが表示されます。 ... "

編集:これは DDMS からのログ レポートです。

    [2012-11-08 15:27:52 - ddms] null
java.lang.NullPointerException
    at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
    at com.android.ddmlib.Client.sendAndConsume(Client.java:575)
    at com.android.ddmlib.HandleHello.sendHELO(HandleHello.java:142)
    at com.android.ddmlib.HandleHello.sendHelloCommands(HandleHello.java:65)
    at com.android.ddmlib.Client.getJdwpPacket(Client.java:672)
    at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:317)
    at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)
4

4 に答える 4

2

ログ出力を投稿できますか? 私が最初に試みることは、pass.contentEquals("1234")単に次のように変更することpass.equals("1234") です。

Intent adder = new Intent(Password.this, Adder.class);
于 2012-11-08T12:06:12.377 に答える
0

これを試してみてください:

if(pass.equals("1234")){
    Intent adder = new Intent("com.example.pointsadder.Adder");
    startActivity(adder);
}

.equalsまたは、大文字と小文字を区別しないパスワードを使用する.equalsIgnoreCase場合は、に置き換えることができます。

また、次のようにインテントを宣言する必要があります。

Intent adder = new Intent(Password.this, Adder.class);
startActivity(adder);
于 2012-11-08T12:07:33.040 に答える
0
You should try this:   

 final EditText enterPass;
    Button submit;
    enterPass = (EditText) findViewById(R.id.password);
    submit = (Button) findViewById(R.id.submit);
        submit.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // TODO Auto-generated method stub
                String pass = enterPass.getText().toString().trim();
                if(pass.equals("1234")){
                    Intent adder = new Intent(PresentActivity.this,SecondActivity.class);
                      startActivity(adder); 
                }
            }
        });

また、マニフェスト ファイルで SecondActivity について言及することを忘れないでください

于 2012-11-08T12:13:30.600 に答える
0

これを試して

pass.equalsIgnoreCase("1234");

これはうまくいくかもしれません。また、インテントシンタックスを以下で変更します

Intent adder = new Intent(*currentActivity*.this,Adder.class);
startActivity(adder);

Adder アクティビティもmanifestファイルに追加します。

于 2012-11-08T12:13:55.060 に答える