gpt4 book ai didi

java - ANDROID:从膨胀的弹出 View 启动新 Activity

转载 作者:行者123 更新时间:2023-11-30 00:42:04 24 4
gpt4 key购买 nike

我有一个 main_activity,在其中按下一个按钮可以启动一个要完成的表单:

popup= getLayoutInflater().inflate(R.layout.pop_up, null);
signup = new SignUp(popup);
register = (Button) findViewById(R.id.sign_up);
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(MyLocalBartender.this);
alertBuilder.setView(popup);
final AlertDialog dialog = alertBuilder.create();
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
dialog.show();
}
});

如您所见,我正在使用第二个 Activity 类 (SignUp) 来管理表单,而不是启动它的根类 (main_activity)。在这个新类中,我设置了所有点击监听器等,以通过实现 OnClickListener 的第三个类来验证输入。

到此为止一切正常。但是现在我想测试名为 HomePage 的页面/Activity ,如果填写了表单,用户应该登陆该页面/Activity 。所以我不知道的是我从以前的处理程序中删除了点击监听器,并创建了一个匿名的,只需在按下注册按钮时打开新 Activity :

 //       signup_registerButton.setOnClickListener(new SignupListener(signup_emailField,signup_passwordField1,
// signup_passwordField2, signup_textTemp,signup_organiserRadio, signup_staffRadio,signup_alertMessage));
////*************************TEST******************* START
signup_registerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent menu = new Intent(getApplicationContext(), HomePage.class);
startActivity(menu);
}
});

////*************************TEST******************* END

但这会返回 NullPointerException。我尝试直接从 main_activity 启动 HomePage.class 并且它有效而且我还尝试从这个 REGISTER 按钮启动主要 Activity ,但它不起作用,所以这告诉我问题出在此处.

最佳答案

您需要将 Activity Context 传递给 Intent 构造函数。 Activity 上下文和应用程序上下文不同。 Activity 上下文包含更多信息。

在您的情况下,您可以这样做:

signup_registerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent menu = new Intent(yourActivity, HomePage.class);
startActivity(menu);
}
});

其中 yourActivity 是您的 Activity 实例。您可以将它作为变量传递或通过 main_activity.this 从内部类(监听器)在您的类内的任何位置访问它。

关于java - ANDROID:从膨胀的弹出 View 启动新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42394824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com