我正试图通过按下按钮将程序从一个班级转到另一个班级。我知道这需要用意图完成,但我不确定用于意图的确切操作。此外,我宁愿不尝试使用OnClickListener,因为在我看来,我需要做的事情有点过分。虽然我错了,但我只是在思考它。以下是我对代码的看法:
public void loginScreen(View view) {
// Should take user to the next view when button pressed
Intent intent = new Intent(this, LoginActivity.class);
Button login = (Button) findViewById(R.id.button1);
intent.getData(login);
startActivity(intent);
}
我只想在按下button1的情况下进入下一个屏幕,所以我不知道是否只需要第3行和第6行,但如果它只是那两个就行不通。我相信问题是getData,我不知道该放什么,但我知道getData是错误的。我可能也错过了其他的东西,但我不知道是什么。
另外,如果这不容易理解,请原谅我,第一次尝试在这里提问。
答案 0 :(得分:1)
没有显式设置onClickListener:
<button
...
android:onClick="loginClicked" />
public void loginClicked(View v) {
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
}
同样明确地设置onClickListener也不会过度。
您的问题并不完全清楚,如果您需要更多信息,请告诉我,我会编辑我的答案。
答案 1 :(得分:1)
在XML文件中,您可以声明点击:
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="loginScreen" />
然后在你的活动中:
public void loginScreen(View button) {
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
}
视图所在的View视图上下文中的方法名称 点击。此名称必须与采用的公共方法相对应 恰好是View类型的一个参数。例如,如果您指定 android:onClick =“sayHello”,你必须声明一个公共空白 sayHello(View v)您的上下文方法(通常是您的Activity)。
请注意,如果将onClick添加到Fragment布局,则仍需要在Activity中捕获它。