Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android studio错误E/AndroidRuntime:致命异常:主_Java_Android - Fatal编程技术网

Java android studio错误E/AndroidRuntime:致命异常:主

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

}

将此构造函数设为空,并使用findViewById初始化
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);
 }
}