当前位置: 首页 > 知识库问答 >
问题:

如何在Android中重定向2个按钮到不同的意图?

宣滨海
2023-03-14

在此输入图像说明

我在每个按钮上都安装了一个监听器,这些监听器将我带到不同的活动中。登录按钮工作完美,但注册按钮停止应用程序时,我点击它。

我尝试在_btnreg listener中放入toast消息,结果成功了...

我有一个错误:

package com.example.android.virtualshelter;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;   
public class MainActivity extends AppCompatActivity
{
Button _btnreg, _btnlogin;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    _btnlogin  = findViewById(R.id.btnlogin);
    _btnreg    = findViewById(R.id.btnreg);

    _btnreg.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            Intent intent = new Intent(MainActivity.this,register.class);
            startActivity(intent);
        }
    });

    _btnlogin.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            Intent intent = new Intent(MainActivity.this,login.class);
            startActivity(intent);
        }
    });
}
}

我的Register.java代码

package com.example.android.virtualshelter;

import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class register extends AppCompatActivity
{

SQLiteOpenHelper openHelper;
SQLiteDatabase db;
Button _btnReg;
EditText _txtfname, _txtlname, _txtpass, _txtemail, _txtphone;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);

    openHelper = new DatabaseHelper(register.this);
    _txtfname  = findViewById(R.id.txtfname);
    _txtlname  = findViewById(R.id.txtlname);
    _txtpass   = findViewById(R.id.txtpass);
    _txtemail  = findViewById(R.id.txtemail);
    _txtphone  = findViewById(R.id.txtphone);
    _btnReg    = findViewById(R.id.btnreg);

    _btnReg.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            db = openHelper.getWritableDatabase();
            String fname = _txtfname.getText().toString();
            String lname = _txtlname.getText().toString();
            String pass = _txtpass.getText().toString();
            String email = _txtemail.getText().toString();
            String phone = _txtphone.getText().toString();
            insertdata(fname, lname, pass, email, phone);
            Toast.makeText(getApplicationContext(), "register successfully", Toast.LENGTH_LONG).show();

        }
    });
}

public void insertdata(String fname, String lname, String pass, String email, String phone)
{
    ContentValues contentValues = new ContentValues();
    contentValues.put(DatabaseHelper.COL_2, fname);
    contentValues.put(DatabaseHelper.COL_3, lname);
    contentValues.put(DatabaseHelper.COL_4, pass);
    contentValues.put(DatabaseHelper.COL_5, email);
    contentValues.put(DatabaseHelper.COL_6, phone);
    long id = db.insert(DatabaseHelper.TABLE_NAME, null, contentValues);
}
 }

我想转到activity Register.java,但应用程序崩溃了

共有1个答案

卢书
2023-03-14

我的预感是,你找不到按钮,导致一个NPE时设置的列表。可能是您没有在r.layout.activity_main中定义按钮,而是在不同的布局中定义按钮。

 类似资料:
  • 我一直在跟一门课,但似乎没有奏效(也可能是我太糟糕了,搞错了什么东西)。 我应该在contenidoactivity.java中输入一个名称,然后按下一个按钮(onclick:enviarNombre被选中),并将该名称获取到destinoactivity.java txt,但它只是停留在那里,当我单击该按钮时,它没有改变任何东西。我已经放了一个吐司“has seleccionado enviar

  • 我有一个订单按钮应该是重定向用户到购物车页面与订购的项目 这是网上的路线。php 这是函数addToCart 但是当我点击按钮时,它不会重定向到购物车页面,它会一直加载到我所做的同一个位置 在函数上,它输出正确的结果

  • 我有一个sidR菜单,内容如下: 每个页面的href未知,cms会为其提供一个id。 虽然a class=“sidr class”下拉开关 我想用CSS隐藏sidr类下拉菜单的内容,只显示一个类“sidr类下拉开关”,这样它就可以点击第一个链接。

  • 所以我现在做了一个应用程序,我使用侧菜单来实现一些功能,比如注销,设置等。当用户需要注销时,我不得不将他重定向到LoginActivity,出于某种原因,它只是关闭侧菜单,就像没有那个项目一样。我在这里和youtube上都找过类似的问题,但没有任何帮助。而且,当按下侧菜单上的“logout_btn”时,该应用程序似乎没有错误 side_nav_menu:

  • 这是身份服务器3独立实现第3部分由斯科特布雷迪 当我运行hybridflow客户端应用程序并登录时,会显示“同意”页面。但在我确认我对范围的选择并单击“是,允许”按钮后,页面重定向到同意页面。 这是网络日志映像。在此处输入图像描述 这是最终的Http请求URL,其响应是同意页面。 https://localhost:44302/core/connect/authorize?client_id=hy

  • 今天我在尝试运行Android Studio的应用程序时遇到了一个问题。我发现解决问题的方法是用Gradle同步。但是,我在编辑器中找不到与梯度同步按钮。(StackOverflow上列出的解决方案都不适合我)。下面是一张图片: 编辑:它不在文件菜单中。