TextView onclick方法崩溃了应用程序

时间:2015-12-15 15:38:46

标签: java android

我有一个带有OnClick方法的textView来导航另一个活动。但是,如果我按下该文本,它就不会导航。但是,如果我使用Button而不是TextView,它可以完美地运行。无法在TextView中使用OnClick方法吗?

forgotpasstxt= (TextView) findViewById(R.id.txtForgotpPass);

 /** Textview on click even.
         *
         */
        forgotpasstxt.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), ChangePassword.class);
                startActivityForResult(myIntent, 0);}
  });

XML.Login

 <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Forgot Password?"
        android:id="@+id/txtForgotpPass"
        android:clickable="true"
        android:onClick="perform_action"
        android:textColor="#ff3b5998"
        android:layout_below="@+id/btnReset"
        android:layout_centerHorizontal="true" />

请帮助,我不明白为什么一旦用户点击忘记密码链接,应用程序就会崩溃。

3 个答案:

答案 0 :(得分:5)

删除此行:

android:onClick="perform_action"

您正在以编程方式设置侦听器。

答案 1 :(得分:2)

您应该删除该行:

android:onClick="perform_action"

这是因为您要将TextView设置为执行onClick两次。在您的XML中,您要说的是执行一个名为perform_action的方法,并且在您的代码中,您正在正确地执行此操作。

由于使用Java代码进行点击而不是XML更简洁,我建议只删除上面一行,因为OnClickListener是正确的。

答案 2 :(得分:0)

删除forgotpasstxt.setOnClickListener并添加perform_action方法

   public void perform_action(View view) {


    Intent myIntent = new Intent(view.getContext(), ChangePassword.class);
    startActivityForResult(myIntent, 0);
}