【问题标题】:Button click is not redirecting to next page按钮单击未重定向到下一页
【发布时间】:2021-03-31 15:42:01
【问题描述】:

所以,我在这里面临的问题是,当我单击登录按钮时,它应该重定向到 three_sections 页面,但这并没有发生。我现在对登录做了同样的事情,但那有效。单击立即登录按钮会将我重定向到下一页。但是登录按钮不是!我附上了下面的所有代码。

这是我的 loginpage.xml 代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".loginpage"
    android:background="@drawable/ic_launcher_background">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_centerInParent="true"
        android:layout_marginEnd="152dp"
        android:layout_marginBottom="549dp"
        android:text="USER LOGIN"
        android:textColor="@color/black"
        android:textSize="30dp"
        android:typeface="sans" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="37dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="205dp"
        android:layout_marginBottom="449dp"
        android:text="USERNAME"
        android:drawableLeft="@drawable/username_foreground"
        android:textColor="@color/Purple"
        android:textSize="20dp" />

    <EditText
        android:layout_width="283dp"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="88dp"
        android:layout_marginBottom="393dp"
        android:hint="ENTER USERNAME" />


    <TextView
        android:id="@+id/t3"
        android:layout_width="144dp"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="200dp"
        android:layout_marginBottom="340dp"
        android:text="PASSWORD"
        android:drawableLeft="@drawable/password_foreground"
        android:textColor="@color/Purple"
        android:textSize="20dp" />

    <EditText
        android:layout_width="284dp"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="85dp"
        android:layout_marginBottom="273dp"
        android:hint="ENTER PASSWORD" />

    <Button
        android:id="@+id/login"
        android:layout_width="161dp"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="163dp"
        android:layout_marginBottom="188dp"
        android:background="@android:color/transparent"
        android:text="LOGIN"
        android:textColor="@color/Purple"
        android:textSize="20dp" />

    <ImageView
        android:layout_width="100dp"
        android:layout_height="110dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="-15dp"
        android:layout_marginBottom="525dp"
        android:src="@drawable/imaagee" />

    <ImageView
        android:layout_width="100dp"
        android:layout_height="110dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="-15dp"
        android:layout_marginBottom="408dp"
        android:src="@drawable/image" />

    <ImageView
        android:layout_width="100dp"
        android:layout_height="110dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="-15dp"
        android:layout_marginBottom="292dp"
        android:src="@drawable/iimagee" />

    <ImageView
        android:layout_width="100dp"
        android:layout_height="110dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="-15dp"
        android:layout_marginBottom="176dp"
        android:src="@drawable/imagee" />

    <ImageView
        android:layout_width="100dp"
        android:layout_height="110dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="-15dp"
        android:layout_marginBottom="61dp"
        android:src="@drawable/imageee" />

    <Button
        android:id="@+id/signnow"
        android:layout_width="188dp"
        android:layout_height="58dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="143dp"
        android:layout_marginBottom="119dp"
        android:background="@android:color/transparent"
        android:text="SIGN IN NOW"
        android:textColor="@color/Purple"
        android:textSize="20dp" />


</RelativeLayout>

这是我的 loginpage.java

public class loginpage extends AppCompatActivity {

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

        TextView signnow = (TextView) findViewById(R.id.signnow);
        signnow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent p = new Intent(loginpage.this,new_user_register.class);
                startActivity(p);

            }
        });


        TextView login = (TextView) findViewById(R.id.login);
        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent(loginpage.this,three_sections.class);
                startActivity(i);

            }
        });

    }
}

这是我的 three_sections.xml 代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".three_sections"
    >


    <TextView
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="429dp"
        android:alpha="0.4"
        android:background="@color/Purple" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="72dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="-14dp"
        android:layout_marginBottom="472dp"
        android:freezesText="true"
        android:text="     BEGINNERS CALLIGRAPHY"
        android:textSize="25dp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="238dp"
        android:alpha="0.4"
        android:background="@color/DeepPink" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="72dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="-27dp"
        android:layout_marginBottom="90dp"
        android:text="     ADVANCED CALLIGRAPHY"
        android:textSize="25dp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="47dp"
        android:alpha="0.4"
        android:background="@color/DarkBlue" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="0dp"
        android:layout_marginBottom="315dp"
        android:freezesText="true"
        android:text=" INTERMEDIATE CALLIGRAPHY"
        android:textSize="25dp" />

</RelativeLayout>

【问题讨论】:

  • 在您的登录页面布局中,注册和登录是按钮,但在您的 Java 代码中,您将它们类型转换为 Textview,检查您可能会遇到一些错误的日志
  • 不,没有错误

标签: android android-layout


【解决方案1】:
// in OnCreate in loginpage.java 

Button signNow = (Button)findViewById(R.id.signnow);
mClickButton1.setOnClickListener(this);
Button login = (Button)findViewById(R.id.clickButton2);
mClickButton2.setOnClickListener(this);


// somewhere else in your code

public void onClick(View v) {
    switch (v.getId()) {
        case  R.id.clickButton1: {
            // do something for button 1 click for example
            Intent intent = new Intent(this, signNow.class);
            startActivity(intent);
            break;
        }

        case R.id.clickButton2: {
            // do something for button 2 click
            break;
        }

    }
}

【讨论】:

  • 你能说一下我应该在我的代码中做哪些更改。
  • 您可以首先将引用从 TextView 更改为 Buttons。然后像你已经完成的那样调用意图
【解决方案2】:

Kotlin 代码

import android.content.Intent
import android.os.Bundle
import android.view.View
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity


class LoginPage : AppCompatActivity(), View.OnClickListener {
    override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_login_page)

       //for sign button click listener
       val signNow = findViewById<View>(R.id.signnow) as Button
       signNow.setOnClickListener(this)

       //for login button click listener
       val login = findViewById<View>(R.id.login) as Button
       login.setOnClickListener(this)
   }

   override fun onClick(v: View) {
       when (v.id) {
           R.id.signnow -> {
               // Navigate to New User Register screen.
               startActivity(Intent(this, NewUserRegister::class.java))
           }

           R.id.login -> {
              // Navigate to Three Section screen.
              startActivity(Intent(this, ThreeSections::class.java))
           }
       }
   }
}

【讨论】:

    【解决方案3】:

    只需在 loginpage.java 代码中将 TextView 的类型转换更改为 Button

    改变这个

    TextView login = (TextView) findViewById(R.id.login);
    

    到这里

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 2019-09-15
      • 1970-01-01
      • 2018-04-22
      • 2013-01-26
      • 2020-11-27
      • 1970-01-01
      相关资源
      最近更新 更多