Onclick方法不会被调用

时间:2012-06-07 18:40:16

标签: android onclick onclicklistener

我正在开发一个Android应用程序。我是android的新手.Onclick方法没有被解雇。我一直试图弄清楚它几个小时。我已多次检查按钮ID和代码。我在下面发布了我的代码。请帮忙。

package com.android.disasterAlertApp;

import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class Registration extends Activity{
Button sqlRegister;
EditText  sqlFirstName,sqlLastName,sqlEmail,sqlMobileNumber,sqlCurrentLocation,sqlUsername,sqlPassword;

    @Override
    protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.registration);
    sqlFirstName = (EditText) findViewById(R.id.etFname);
    sqlLastName = (EditText) findViewById(R.id.etLname);

    sqlRegister = (Button) findViewById(R.id.bRegister);
    sqlRegister.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            Toast.makeText(Registration.this, "fire", Toast.LENGTH_LONG).show();
            }
        });
    }
}    

------------------------ XML文件--------------------- -----------

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="536dp"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_centerInParent="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Register"
    android:layout_gravity="center"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textSize="20dp" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="First Name"
    android:textSize="15dp"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/etFname"
    android:layout_width="200dp"
    android:layout_height="45dp"
    android:ems="10"

    android:inputType="textPersonName" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Last Name"
    android:textSize="15dp"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/etLname"
    android:layout_width="200dp"
    android:layout_height="45dp"
    android:ems="10"
    android:inputType="textPersonName" >
</EditText>

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Email"
    android:textSize="15dp"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/etEmail"
    android:layout_width="200dp"
    android:layout_height="45dp"
    android:ems="10"
    android:inputType="textEmailAddress" />


/////This is the Register Button/////
<Button
    android:id="@+id/bRegister"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="92dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Register"
    android:textSize="15dp" />

 </LinearLayout>

 </ScrollView>

2 个答案:

答案 0 :(得分:1)

我在测试中使用了上面的代码project and it is working fine ....请参阅附件中的图片

enter image description here

如果上面没有提到的代码中有更多内容,请告知我们。

答案 1 :(得分:0)

通过将以下内容添加到按钮xml

,尝试以不同的方式进行设置
android:onClick="onClickHandler"

然后在您的活动中,定义此方法:

public void onClickHandler(View target) {
   switch (target.getId()) {
      case R.id.bRegister:
         //doSomething
     break;
   }
}