2015-12-15 2 views
2

У меня есть textView с методом OnClick для перемещения по другому действию. Но, если я нажал этот текст, он не будет перемещаться. Но если я использовал Button вместо TextView, он отлично работает. Не удается использовать метод OnClick в 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" /> 

Пожалуйста, помогите, я не понимаю, почему происходит сбой приложения после того, как пользователь нажимает на ссылку забыл пароль.

ответ

2

Вы должны удалить строку:

android:onClick="perform_action" 

это потому, что вы устанавливаете TextView, чтобы сделать что-то onClick дважды. В вашем XML вы говорите, что делаете метод с именем perform_action, а в вашем коде вы делаете это правильно.

Так как использовать JavaScript-код для щелчка, а не XML, я бы предложил просто удалить указанную выше строку, потому что OnClickListener верен.

+0

Он работает, очень ценится. –

+0

Нет проблем! Рад помочь :) –

5

Удалить эту строку:

android:onClick="perform_action" 

Вы устанавливаете слушателя программно.

+0

Будет ли это работать, как только эта ссылка будет удалена. Позвольте мне проверить и dubug приложение. –

+0

Хорошо, дайте мне знать, если работает =) Если вы установите слушателя по коду, вам нужно удалить форму XML и наоборот –

+0

@ J.Doe В ней говорится, что вы получаете ссылку Null в своем коде. Я просмотрел ваш код и не нашел ничего плохого. Можете ли вы повторно создать свой R.java. Мне интересно, что вызвало эту проблему. – VicX

0

удалить forgotpasstxt.setOnClickListener и добавить методы perform_action

public void perform_action(View view) { 


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

Это не должно использоваться, поскольку ClickListeners предпочтительнее. –