简体   繁体   English

java.lang.IllegalStateException:无法在父级或祖先语句中找到方法btnSubmit(View)for android:onClick

[英]java.lang.IllegalStateException: Could not find method btnSubmit(View) in a parent or ancestor Context for android:onClick

This Java takes the inputs of Edit Text fields and outputs them into Toast. 这个Java接受编辑文本字段的输入并将它们输出到Toast中。

I have no idea where or what the error is, any help would be greatly appreciated: 我不知道错误在哪里或什么,任何帮助将不胜感激:

Java Java的

package colonyapplication.colony;

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class tenantReg extends Activity {

    EditText fullName = (EditText) findViewById(R.id.etFname);
    EditText userEmail = (EditText) findViewById(R.id.etEmail);
    EditText userPass = (EditText) findViewById(R.id.etPass);

    String fName = fullName.getText().toString();
    String uEmail = userEmail.getText().toString();
    String uPass = userPass.getText().toString();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tenant_reg);
    }

    public void btnSubmit() {

        String tenant = "Tenant";

        Toast.makeText(tenantReg.this, "UserName is: " + fName + ". Password is: " + uPass + "email is: " + uEmail + tenant, Toast.LENGTH_LONG).show();

    }

}

XML XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:background="#fcdfaa"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="colonyapplication.colony.tenantReg">


<ImageView
    android:id="@+id/imageView2"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:src="@drawable/colonylogo"
    android:layout_above="@+id/passTextBox"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="61dp" />

<EditText
    android:id="@+id/etFname"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/imageView2"
    android:layout_alignStart="@+id/imageView2"
    android:layout_below="@+id/imageView2"
    android:ems="10"
    android:hint="Full Name"
    android:inputType="textPersonName" />

<EditText
    android:id="@+id/etEmail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/etFname"
    android:layout_alignStart="@+id/etFname"
    android:layout_centerVertical="true"
    android:ems="10"
    android:hint="Email"
    android:inputType="textEmailAddress" />

<EditText
    android:id="@+id/etPass"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="29dp"
    android:ems="10"
    android:hint="Password"
    android:inputType="textPassword"
    android:layout_below="@+id/etEmail"
    android:layout_alignStart="@+id/etEmail"
    android:layout_alignEnd="@+id/etEmail" />

<EditText
    android:id="@+id/etPassconfirm"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="34dp"
    android:ems="10"
    android:hint="Confirm Password"
    android:inputType="textPassword"
    android:layout_below="@+id/etPass"
    android:layout_alignStart="@+id/etPass"
    android:layout_alignEnd="@+id/etPass" />

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="32dp"
    android:layout_marginTop="47dp"
    android:background="#EE7600"
    android:onClick="btnSubmit"
    android:text="Submit"
    android:textAllCaps="false"
    android:textColor="#ffffff"
    android:textSize="17sp"
    android:layout_below="@+id/etPassconfirm"
    android:layout_alignStart="@+id/etPassconfirm" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Cancel"
    android:background="#EE7600"
    android:textAllCaps="false"
    android:textColor="#ffffff"
    android:textSize="17sp"
    android:layout_alignBaseline="@+id/button"
    android:layout_alignBottom="@+id/button"
    android:layout_alignEnd="@+id/etPassconfirm"
    android:layout_marginEnd="33dp" />


</RelativeLayout>

For whatever reason, when the submit button is clicked, the program stops in the emulator. 无论出于何种原因,单击提交按钮时,程序将停止在模拟器中。 The error in the Android Monitor states: "java.lang.IllegalStateException: Could not find method btnSubmit(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'button'" Android监视器中的错误指出:“java.lang.IllegalStateException:找不到父或祖先的方法btnSubmit(View)上下文中的android:onClick属性在视图类android.support.v7.widget.AppCompatButton上定义,ID为id'按钮'”

As I see you have 2 Button but I dont know which one is submit button. 我看到你有2个按钮,但我不知道哪个是提交按钮。 well also I can not find the meaning of public void btnSubmit() . 我也找不到public void btnSubmit()的含义。 As I know you should define tn submit: 据我所知你应该定义tn submit:

Button btnSubmit = (Button) findViewById(R.id.your_btnSubmit_id);

and then use onClickListener method to do somthing when btn clicked 然后使用onClickListener方法在单击btn时执行某些操作

btnsubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           //Do somthing
        }
    });

Edit: 编辑:

You can use your code just replace 您可以使用您的代码替换

public void btnSubmit()

with this: 有了这个:

public void btnSubmit(View v)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.IllegalStateException:在 android:onClick 属性定义的父或祖先上下文中找不到方法 play(View) - java.lang.IllegalStateException: Could not find method play(View) in a parent or ancestor Context for android:onClick attribute defined java.lang.IllegalStateException:在视图类上定义的 android:onClick 属性的父级或祖先上下文中找不到方法 pay(View) - java.lang.IllegalStateException: Could not find method pay(View) in a parent or ancestor Context for android:onClick attribute defined on view class java.lang.IllegalStateException: Could not find method count(View) in a parent or ancestor Context for android:onClick attribute defined on view class - java.lang.IllegalStateException: Could not find method count(View) in a parent or ancestor Context for android:onClick attribute defined on view class java.lang.IllegalStateException:在android:onClick属性的父级或祖先上下文中找不到方法 - java.lang.IllegalStateException: Could not find method in a parent or ancestor Context for android:onClick attribute java.lang.IllegalStateException:无法在父级或祖先上下文中找到方法 - java.lang.IllegalStateException: Could not find method in a parent or ancestor Context java.lang.IllegalStateException:找不到方法onClick(View) - java.lang.IllegalStateException: Could not find a method onClick(View) IllegalStateException:在视图类上定义的android:onClick属性的父级或祖先上下文中找不到方法 - IllegalStateException: Could not find method in a parent or ancestor Context for android:onClick attribute defined on view class 无法在父级或祖先的上下文中找到方法onClickcrea(View)for android:onClick - Could not find method onClickcrea(View) in a parent or ancestor Context for android:onClick java.lang.IllegalStateException:无法执行android:onClick的方法 - java.lang.IllegalStateException: Could not execute method for android:onClick in android java.lang.IllegalStateException:无法为 android 执行方法:onClick / ZE84E30B9390CDB67ZDDB6 - java.lang.IllegalStateException: Could not execute method for android:onClick / Android
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM