使用按钮更改班级视图

时间:2013-02-17 18:26:06

标签: java android

我正试图通过按下按钮将程序从一个班级转到另一个班级。我知道这需要用意图完成,但我不确定用于意图的确切操作。此外,我宁愿不尝试使用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是错误的。我可能也错过了其他的东西,但我不知道是什么。

另外,如果这不容易理解,请原谅我,第一次尝试在这里提问。

2 个答案:

答案 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);
}

以下是onClick View API

  

视图所在的View视图上下文中的方法名称   点击。此名称必须与采用的公共方法相对应   恰好是View类型的一个参数。例如,如果您指定   android:onClick =“sayHello”,你必须声明一个公共空白   sayHello(View v)您的上下文方法(通常是您的Activity)。

请注意,如果将onClick添加到Fragment布局,则仍需要在Activity中捕获它。