我有一个带有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" />
请帮助,我不明白为什么一旦用户点击忘记密码链接,应用程序就会崩溃。
答案 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);
}