OnClickListener - 多个TextView无法按预期工作

时间:2017-01-16 16:44:14

标签: android onclicklistener

当我点击注册时,它按预期工作。但是当我点击忘记密码时,它首先打开RegisterActivity,当我点击物理后退按钮时,它会打开ForgotActivity。

我是android的编程新手。请帮忙。

XML如下......

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:padding="10dp"
    tools:context="com.shwetait.mcafeerewards.LoginActivity"
    android:layout_height="match_parent">

    <TextView
        android:text="Email ID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <EditText
        android:id="@+id/etemailid"
        android:layout_marginBottom="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <TextView
        android:text="Password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <EditText
        android:id="@+id/etpassword"
        android:layout_marginBottom="10dp"
        android:inputType="textPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/bLogin"
        android:text="Login"
        android:layout_marginBottom="25dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/oPenRegister"
        android:text="Register"
        android:layout_width="wrap_content"
        android:layout_gravity="center"
        android:clickable="true"
        android:textStyle="bold"
        android:layout_marginBottom="25dp"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/oPenForgot"
        android:text="Forgot Password"
        android:layout_width="wrap_content"
        android:layout_gravity="center"
        android:clickable="true"
        android:textStyle="bold"
        android:layout_marginBottom="10dp"
        android:layout_height="wrap_content" />
</LinearLayout>

.java如下

public class LoginActivity extends AppCompatActivity implements View.OnClickListener{

    Button bLogin;
    EditText etemailid,etpassword;
    TextView oPenRegister,oPenForgot;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        etemailid = (EditText) findViewById(R.id.etemailid);
        etpassword = (EditText) findViewById(R.id.etpassword);
        bLogin = (Button) findViewById(R.id.bLogin);
        bLogin.setOnClickListener(this);
        oPenRegister = (TextView) findViewById(R.id.oPenRegister);
        oPenRegister.setOnClickListener(this);
        oPenForgot = (TextView) findViewById(R.id.oPenForgot);
        oPenForgot.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.bLogin:
                break;
            case R.id.oPenForgot:
                startActivity(new Intent(this, ForgotActivity.class ));
            case R.id.oPenRegister:
                startActivity(new Intent(this, RegisterActivity.class ));
        }
    }
}

1 个答案:

答案 0 :(得分:2)

您的案件中没有break;声明。试试这个:

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.bLogin:
        break;
        case R.id.oPenForgot: 
            startActivity(new Intent(this, ForgotActivity.class ));
            break;

        case R.id.oPenRegister: 
            startActivity(new Intent(this, RegisterActivity.class ));
            break;

    }
}