1

我在创建我的第一个项目时遇到了一个问题,不幸的是,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() 就可以了。我认为“If 子句”可能是错误的,但我不知道。

4

1 回答 1

1
  1. 您的代码没有初始化txtUsername变量。你需要这样做,否则你会得到一个NullPointerException.

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

于 2012-10-05T02:37:10.697 回答