当我单击此处注册时,它不会转到下一个活动

Posted

技术标签:

【中文标题】当我单击此处注册时,它不会转到下一个活动【英文标题】:when I click on Register here, it does not go to the next activity 【发布时间】:2016-04-08 21:35:15 【问题描述】:

当我单击“注销”按钮时,它会转到下一个活动,但是,在下一个活动上,当我单击“在此处注册”转到下一个活动时,不幸的是,登录已停止。请帮帮我。

主要活动

package com.example.namrata.login;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity implements     View.OnClickListener 

Button blogout;
EditText uname1, name1, age1;


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

    uname1 =(EditText) findViewById(R.id.uname1);
    name1 = (EditText) findViewById(R.id.name1);
    age1 = (EditText) findViewById(R.id.age1);

    blogout = (Button) findViewById(R.id.blogout);

    blogout.setOnClickListener(this);




public void onClick(View v) 
    switch (v.getId())
        case R.id.blogout:
            startActivity(new Intent(this, Login.class));
            break;
    





登录活动

package com.example.namrata.login;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Login extends AppCompatActivity implements View.OnClickListener 

   Button blogin;
   EditText uname, pass;
   TextView registerLink;


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

    uname =(EditText) findViewById(R.id.uname);
    pass = (EditText) findViewById(R.id.pass);
    registerLink = (TextView) findViewById(R.id.registerLink);

    blogin = (Button) findViewById(R.id.blogin);

    blogin.setOnClickListener(this);
    registerLink.setOnClickListener(this);



@Override
public void onClick(View v) 
    switch (v.getId())
        case R.id.registerLink:
            startActivity(new Intent(this, Register.class));


        break;

        case R.id.blogin:
            break;


       
   


注册活动

package com.example.namrata.login;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class Register extends AppCompatActivity implements View.OnClickListener 

 Button bregister;
 EditText uname2, pass1, name2, age2;


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

    uname2 =(EditText) findViewById(R.id.uname2);
    pass1 = (EditText) findViewById(R.id.pass1);
    name2 = (EditText) findViewById(R.id.name2);
    age2 = (EditText) findViewById(R.id.age2);

    bregister = (Button) findViewById(R.id.blogin);

    bregister.setOnClickListener(this);



public void onClick(View v) 
    switch (v.getId())
        case R.id.bregister:



            break;
        

     

  

activity_login 布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical"
android:padding="10dp"
android:background="#28e317"
android:backgroundTint="#ffffff">

<TextView
    android:layout_
    android:layout_
    android:text="Username"
    android:id="@+id/username"
    android:textSize="20dp"
    android:textStyle="bold" />

<EditText
    android:layout_
    android:layout_
    android:inputType="textEmailAddress"
    android:ems="10"
    android:id="@+id/uname"
    android:layout_marginBottom="15dp"/>

<TextView
    android:layout_
    android:layout_
    android:text="Password"
    android:id="@+id/password"
    android:textSize="20dp"
    android:textStyle="bold"
    android:background="#ffffff" />

<EditText
    android:layout_
    android:layout_
    android:inputType="textPassword"
    android:ems="10"
    android:id="@+id/pass"
    android:layout_marginBottom="15dp"/>

<Button
    android:layout_
    android:layout_
    android:text="Login"
    android:id="@+id/blogin"
    android:layout_gravity="center_horizontal"
    android:background="#7c82f9"
    android:layout_marginTop="20dp"
    android:layout_marginBottom="20dp"/>

<TextView
    android:layout_
    android:layout_
    android:text="Register Here."
    android:id="@+id/registerLink"
    android:layout_gravity="center_horizontal"
    android:textSize="20dp"
    android:textStyle="italic" />

activity_main 布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    android:orientation="vertical"
    android:padding="10dp"
    >


<TextView
    android:layout_
    android:layout_
    android:text="Name"
    android:id="@+id/name"
    android:textSize="20dp"
    android:textStyle="bold" />

<EditText
    android:layout_
    android:layout_
    android:inputType="text"
    android:ems="10"
    android:id="@+id/name2"
    android:layout_marginBottom="15dp"/>

<TextView
    android:layout_
    android:layout_
    android:text="Age"
    android:id="@+id/age"
    android:textSize="20dp"
    android:textStyle="bold"
    android:background="#ffffff" />

<EditText
    android:layout_
    android:layout_
    android:inputType="number"
    android:ems="10"
    android:id="@+id/age2"
    android:layout_marginBottom="15dp"/>

<TextView
    android:layout_
    android:layout_
    android:text="Username"
    android:id="@+id/username1"
    android:textSize="20dp"
    android:textStyle="bold"
    android:background="#ffffff" />

<EditText
    android:layout_
    android:layout_
    android:inputType="textEmailAddress"
    android:ems="10"
    android:id="@+id/uname2"
    android:layout_marginBottom="15dp"/>

<Button
    android:layout_
    android:layout_
    android:text="Logout"
    android:id="@+id/blogout"
    android:layout_gravity="center_horizontal"
    android:background="#7c82f9"
    android:layout_marginTop="20dp"/>

activity_register 布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    android:orientation="vertical"
    android:padding="10dp"
    android:background="#28e317"
    android:backgroundTint="#ffffff">

<TextView
    android:layout_
    android:layout_
    android:text="Name"
    android:id="@+id/name"
    android:textSize="20dp"
    android:textStyle="bold" />

<EditText
    android:layout_
    android:layout_
    android:inputType="text"
    android:ems="10"
    android:id="@+id/name1"
    android:layout_marginBottom="15dp"/>

<TextView
    android:layout_
    android:layout_
    android:text="Age"
    android:id="@+id/age"
    android:textSize="20dp"
    android:textStyle="bold"
    android:background="#ffffff" />

<EditText
    android:layout_
    android:layout_
    android:inputType="number"
    android:ems="10"
    android:id="@+id/age1"
    android:layout_marginBottom="15dp"/>

<TextView
    android:layout_
    android:layout_
    android:text="Username"
    android:id="@+id/username1"
    android:textSize="20dp"
    android:textStyle="bold"
    android:background="#ffffff" />

<EditText
    android:layout_
    android:layout_
    android:inputType="textEmailAddress"
    android:ems="10"
    android:id="@+id/uname1"
    android:layout_marginBottom="15dp"/>
<TextView
    android:layout_
    android:layout_
    android:text="Password"
    android:id="@+id/password1"
    android:textSize="20dp"
    android:textStyle="bold"
    android:background="#ffffff" />

<EditText
    android:layout_
    android:layout_
    android:inputType="textPassword"
    android:ems="10"
    android:id="@+id/pass1"
    android:layout_marginBottom="15dp"/>

<Button
    android:layout_
    android:layout_
    android:text="Register"
    android:id="@+id/bregister"
    android:layout_gravity="center_horizontal"
    android:background="#7c82f9"
    android:layout_marginTop="20dp"/>

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.namrata.login">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Login"
        android:label="@string/title_activity_login"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".Register"
        android:label="@string/title_activity_register"
        android:theme="@style/AppTheme.NoActionBar"></activity>
</application>

【问题讨论】:

显示来自 logcat 的堆栈跟踪 你想在点击按钮时注销.. 在您的注册类中进行此更改---> 替换此---> bregister = (Button) findViewById(R.id.blogin);有了这个--->bregister = (Button) findViewById(R.id.bregister);您的问题将得到解决 你的 MainActivity 没有链接到 activity_main ... 非常感谢..我真是个白痴。 【参考方案1】:

在注册活动 xml 中,您有 android:id="@+id/bregister"

但是在RegisterActivity你搜索登录按钮

bregister = (Button) findViewById(R.id.blogin);

这是 null 这就是为什么你得到 空指针异常 我认为将其更改为

bregister = (Button) findViewById(R.id.bregister);

【讨论】:

非常感谢..我真是个白痴【参考方案2】:

在注册活动 (activity_register) 的布局文件中,您有:

android:id="@+id/bregister"

但是在RegisterActivity.java 你正在做:

bregister = (Button) findViewById(R.id.blogin);

所以register 设置为null。因此它崩溃了:

bregister.setOnClickListener(this);

【讨论】:

如果您的问题已解决,请将一个答案标记为正确【参考方案3】:

您在 MainActivity 中的 onClick 方法不是被覆盖的方法,这就是它没有被自动调用的原因。像在 LoginActivity 中创建 onClick 方法一样创建它

【讨论】:

【参考方案4】:

在您的第一个活动类MainActivity 中,您正在使用此布局类

setContentView(R.layout.activity_main)

你应该使用

setContentView(R.layout.activity_login)

在这个activity_login 布局中你应该 更改 TextView 是在这里注册到按钮

<TextView
    android:layout_
    android:layout_
    android:text="Register Here."
    android:id="@+id/registerLink"
    android:layout_gravity="center_horizontal"
    android:textSize="20dp"
    android:textStyle="italic" />

删除这个并使用按钮而不是TextView

【讨论】:

以上是关于当我单击此处注册时,它不会转到下一个活动的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮时转到下一页并刷新上一个 Jquery Mobile

在 C# 中使用 Linq 单击按钮时,Json 不会转到下一个或上一个文本

我如何使用意图从列表视图转到下一个活动? [复制]

离子标签不会转到下一页

确保在转到下一页之前发送了Google Analytics事件

导航到下一个活动时更改操作栏颜色及其文本对齐方式