Определенный метод никогда не вызывается - PullRequest
3 голосов
/ 07 декабря 2011

Я создаю метод для проверки моих полей входа в систему (имя пользователя и пароль). Я создал метод и вызываю его по событию click, но он не работает.

package com.boyzcorn.android.fyp;

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

/** Called when the activity is first created. */
public class login extends Activity {
    EditText eText = (EditText)findViewById(R.id.uid);
    EditText eText2 = (EditText)findViewById(R.id.editText2);
    Button btnSubmit = (Button)findViewById(R.id.sbtn);
    Button btnSignup = (Button)findViewById(R.id.signupbtn);

    /* I think there is some problem with my method definition but i am not
       getting it. */

    public void validation(EditText username,EditText pass) {
        if (username.getText().toString().equals("") ||
                pass.getText().toString().equals("")) {
            Toast.makeText(
                    getApplicationContext(),
                    "Fill Empty Fields",Toast.LENGTH_SHORT
                ).show();
        } else {
            Intent i = new Intent(login.this,order_pushing.class);
            startActivity(i);
        }
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);

        btnSubmit.setOnClickListener(new OnClickListener() {
            public void onClick(View v) { 
                validation(eText,eText2);
            }
        });

        btnSignup.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {
                Intent i = new Intent(login.this,signup.class);
                startActivity(i);
            }
        });

    }
}

Ответы [ 2 ]

3 голосов
/ 07 декабря 2011

Поместите этот код в поле Activity {

EditText eText;
EditText eText2;
Button btnSubmit;
Button btnSignup;

и инициализировать его в OnCreate после setContentView (R.layout.login);

eText = (EditText)findViewById(R.id.uid);
eText2 = (EditText)findViewById(R.id.editText2);
btnSubmit = (Button)findViewById(R.id.sbtn);
btnSignup = (Button)findViewById(R.id.signupbtn);

Надеюсь, что это будет работать

1 голос
/ 07 декабря 2011

Вы определяете свои кнопки перед настройкой просмотра содержимого. Переместите следующие строки в onCreate() после setContentView(R.layout.login):

EditText eText = (EditText)findViewById(R.id.uid);
EditText eText2 = (EditText)findViewById(R.id.editText2);
Button btnSubmit = (Button)findViewById(R.id.sbtn);
Button btnSignup = (Button)findViewById(R.id.signupbtn);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...