Java android studio错误E/AndroidRuntime:致命异常:主
} 将此构造函数设为空,并使用findViewById初始化Java android studio错误E/AndroidRuntime:致命异常:主,java,android,Java,Android,} 将此构造函数设为空,并使用findViewById初始化eLogin按钮,就像对eName所做的那样。 您应该在onCreate()中/之后初始化所有视图。无法在类构造函数中初始化视图。为什么要传递参数 编辑: 及 结构应该是这样的 Button button = findViewById(R.id....) private EditText eName; private EditText ePassword; private Button eLogin; private TextView
eLogin
按钮,就像对eName
所做的那样。
您应该在
onCreate()
中/之后初始化所有视图。无法在类构造函数中初始化视图。为什么要传递参数
编辑:
及
结构应该是这样的
Button button = findViewById(R.id....)
private EditText eName;
private EditText ePassword;
private Button eLogin;
private TextView eAttemptsInfo;
private String Username = "Azahracaca";
private String Password = "Caca12345";
boolean isvalid = false;
private int counter = 3;
public MainActivity(Button eLogin) {
this.eLogin = eLogin;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eName = findViewById(R.id.IdName);
ePassword = findViewById(R.id.etPassword);
eAttemptsInfo = findViewById(R.id.tvAttemptsInfo);
eLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String inputName = eName.getText().toString();
String inputPassword = ePassword.getText().toString();
if (inputName.isEmpty() || inputPassword.isEmpty())
{
Toast.makeText(MainActivity.this, "Pastikan Semuanya Benar !", Toast.LENGTH_SHORT).show();
}else{
isvalid = valited(inputName, inputPassword);
if(!isvalid){
counter--;
Toast.makeText(MainActivity.this, "Salah Memasukkan Data !", Toast.LENGTH_SHORT).show();
eAttemptsInfo.setText("Jumlah Login Tersisa : 3 Kali" + counter);
if(counter == 0){
eLogin.setEnabled(false);
}
}else {
Toast.makeText(MainActivity.this, "Login Sukses !", Toast.LENGTH_SHORT).show(); //ke menu selanjutnya
Intent intent = new Intent(MainActivity.this, HomePage.class);
startActivity(intent);
}
}
}
});
}
private boolean valited(String name, String password){
if(name.equals(Username) && password.equals(Password)){
return true;
}
return false;
}
public MainActivity(Button eLogin) {
this.eLogin = eLogin;
}
public class MainActivity extends AppcompatActivity
Button button = findViewById(R.id....)
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}