当我启动一个新的Intent并且它没有在控制台中显示任何错误时,我的应用程序崩溃了。
这就是我启动意图的方式
Button login_button = (Button) findViewById(R.id.register_request_button);
login_button.setOnClickListener((View v) -> {
Intent intent = new Intent(v.getContext(), RegistrationForm.class);
startActivity(intent);
});
以上代码以前工作正常,但突然之后我做了一些修改,例如通过在我的gardle
jackOptions {
enabled true
}
和
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
他们在android studio website
中提到的方式相同我尝试删除它们并将lambda代码更改为旧式并且没有解决错误。
我做了多个cmd + z(撤消)。他们可以成为问题的原因吗?
我的主要问题是,可能导致此问题的原因是什么?
注意:我确实在清单
中添加了RegistrationForm
答案 0 :(得分:3)
您对意图的lambda约定是正确的。 您现在不应该使用JACK,因为它现在已在Android studio 2.4预览版中弃用或替换
https://android-developers.googleblog.com/2017/04/java-8-language-features-support-update.html
或者您也可以使用retrolambda,因为数据绑定不支持插孔。
对于您的问题:我的主要问题是,可能导致此问题的原因是什么?
检查日志以查找应用程序崩溃的原因 正如你所说,你已经在android清单中定义了它,这不会成为一个问题。
检查视图是否为null(可能没有正确引用)
我不认为构建过程有任何问题,因为应用程序在运行时崩溃。
分享您的登录信息。
答案 1 :(得分:-1)
试试这个
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(),RegistrationForm.class);
startActivity(intent);
}
});