不幸的是,在OnClick事件中使用if子句时,myapp已停止

时间:2012-10-05 01:40:28

标签: java if-statement clause

我在创建第一个项目时出现问题,遗憾的是,myapp已经停止了。这是代码错误:

public class MainActivity extends Activity {
Button btnLogin;
EditText txtUsername;
EditText txtPassword;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnLogin=(Button)this.findViewById(R.id.btnLogin);
    btnLogin.setOnClickListener(new View.OnClickListener(){         
            public void onClick(View v) {
            // TODO Auto-generated method stub
            if (txtUsername.getText().toString().equals(txtPassword.getText().toString()))
            {
                  Toast.makeText(MainActivity.this, "Login Successful",Toast.LENGTH_LONG).show();
            }                   
        }           
    });       


}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

}

但如果我不使用“If子句”只有Toasted.maketext .... show()就可以了。我认为“如果条款”可能不对,但我不知道。

1 个答案:

答案 0 :(得分:1)

  1. 您的代码未初始化txtUsername变量。您需要这样做,否则您将获得NullPointerException

  2. 您在(匿名)内部类中使用txtUsername变量。为了做到这一点,变量必须是最后一个。