gpt4 book ai didi

android - 找不到 onClick 方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:31:18 24 4
gpt4 key购买 nike

所以,我收到了这个错误

11-15 16:55:40.617: E/AndroidRuntime(316): java.lang.IllegalStateException: Could not find a method ingresarBtnClick(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.Button with id 'ingresarButton'

这是我的布局xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical" android:weightSum="1" android:id="@+id/Login">
<TextView android:layout_width="wrap_content" android:id="@+id/textView1" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Número de Lecturista" android:layout_height="wrap_content"></TextView>
<EditText android:inputType="number" android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/numLecEditText" android:maxLength="4">
<requestFocus></requestFocus>
</EditText>
<TextView android:layout_width="wrap_content" android:id="@+id/textView2" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_height="wrap_content" android:text="PIN"></TextView>
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="number" android:password="true" android:id="@+id/pinEditText" android:maxLength="4"></EditText>
<TableRow android:id="@+id/tableRow1" android:layout_width="match_parent" android:layout_height="wrap_content">
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Ingresar" android:id="@+id/ingresarButton" android:onClick="ingresarBtnClick"></Button>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Salir" android:id="@+id/salirButton" android:onClick="salirBtnClick"></Button>
<Button android:id="@+id/opcionesButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Opciones" android:onClick="opcionesBtnClick" ></Button>
</TableRow>
</LinearLayout>

这是我的代码

import android.app.Dialog;
import android.view.View;
import android.widget.EditText;

public class FormaLogin extends Dialog
{
SisLec sisLec;

public FormaLogin(SisLec _sisLec)
{
super(_sisLec);
sisLec = _sisLec;
setTitle("Identificación de Lecturista");
}

public void mostrar()
{
setContentView(R.layout.login);
show();
}

public void ingresarBtnClick(View view)
{
EditText numLecTxt = (EditText) sisLec.findViewById(R.id.numLecEditText);
EditText pinTxt = (EditText) sisLec.findViewById(R.id.pinEditText);

if(numLecTxt.getText().length() > 0)
{
if(pinTxt.getText().length() > 0)
{
if(numLecTxt.getText().equals("1337"))
{
if(pinTxt.getText().equals("8383"))
{
//sisLec.frmMantenimiento.mostrar();
}
}
else
{
HiloIdentificacion hiloIden = new HiloIdentificacion();
hiloIden.identificacion(numLecTxt.getText().toString(), pinTxt.getText().toString());
}
}
else
sisLec.mensaje("Debe de ingresar su pin");
}
else
sisLec.mensaje("Debe de ingresar su número de Lecturista");
}

public void salirBtnClick(View view)
{
sisLec.salir();
}

public void opcionesBtnClick(View view)
{
// TODO: Agregar método que muestre la forma de Opciones
}

private class HiloIdentificacion extends Thread
{
private String usuario, pass;

public synchronized void run()
{
try
{
sisLec.identificacion(usuario, pass);
}
catch(Exception e)
{
// TODO: Agregar registro de error
}
}

public synchronized void identificacion(String _usuario, String _pass)
{
usuario = _usuario;
pass = _pass;
run();
}
}
}

分配给按钮“ingresarButton”、“ingresarBtnClick(View view)”的方法就在那里,正如 Androir 文档所建议的那样 http://developer.android.com/guide/topics/ui/ui-events.html但我仍然收到错误。

这与我在对话框上显示此布局有什么关系吗?

SisLec 是我的 Activity 课

最佳答案

xml 中的android:onClick 将事件路由到 Activity 中的方法。但是你的方法不在 Activity 中,它在你的 Dialog 类中。您需要让您的 Activity 将调用转发到 Dialog 的实例,或者让对话框代码将自身注册为 onClick 监听器,而不是尝试在布局中设置它。

关于android - 找不到 onClick 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8140077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com