2015-01-21 6 views
-2

У меня есть два, а основные вопросы, которые я считаю, который требует ответа:Кнопка отвечает на запросы

1) Когда я запускаю мой эмулятор на главном экране моя кнопка для входа в аккаунт не отвечает на запросы, и я не уверен, почему, как я пытался альтернативные методы, но всякий раз, когда Я ничего не делаю, и ошибка не отображается. Код показан ниже:

package com.techblogon.loginexample; 

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

public class HomeActivity extends Activity 
{ 
    Button btnSignIn,btnSignUp; 
    LoginDataBaseAdapter loginDataBaseAdapter; 

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

     // create a instance of SQLite Database 
     loginDataBaseAdapter=new LoginDataBaseAdapter(this); 
     loginDataBaseAdapter=loginDataBaseAdapter.open(); 

     // Get The Reference Of Buttons 
     btnSignIn=(Button)findViewById(R.id.buttonSignIN); 
     btnSignUp=(Button)findViewById(R.id.buttonSignUP); 

     // Set OnClick Listener on SignUp button 
     btnSignUp.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      /// Create Intent for SignUpActivity and Start The Activity 
      Intent intentSignUP=new Intent(getApplicationContext(),SignUPActivity.class); 
      startActivity(intentSignUP); 
      } 
     }); 
    } 
    // Method to handleClick Event of Sign In Button 
    public void signIn(View V) 
     { 
      final Dialog dialog = new Dialog(HomeActivity.this); 
      dialog.setContentView(R.layout.login); 
      dialog.setTitle("Login"); 


      final EditText editTextUserName=(EditText)dialog.findViewById(R.id.editTextUserNameToLogin); 
      final EditText editTextPassword=(EditText)dialog.findViewById(R.id.editTextPasswordToLogin); 

      Button btnSignIn=(Button)dialog.findViewById(R.id.buttonSignIN); 

      // Set On ClickListener 
      btnSignIn.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 
        // get The User name and Password 
        String userName=editTextUserName.getText().toString(); 
        String password=editTextPassword.getText().toString(); 

        // fetch the Password form database for respective user name 
        String storedPassword=loginDataBaseAdapter.getSinlgeEntry(userName); 

        // check if the Stored password matches with Password entered by user 
        if(password.equals(storedPassword)) 
        { 
         Toast.makeText(HomeActivity.this, "Welcome", Toast.LENGTH_LONG).show(); 
         dialog.dismiss(); 

         Intent ii=new Intent(HomeActivity.this,MainMenu.class); 
         startActivity(ii); 
        } 
        else 
        { 
         Toast.makeText(HomeActivity.this, "User Name or Password does not match", Toast.LENGTH_LONG).show(); 
        } 
       } 
      }); 

      dialog.show(); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     // Close The Database 
     loginDataBaseAdapter.close(); 
    } 
} 

Может кто-нибудь дать мне лучший SQLite просмотра базы данных для затмения, я ищу, чтобы просмотреть записи базы данных, я создал на моем эмуляторе

Мой XML выглядит следующим образом

<LinearLayout 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:gravity="center_vertical" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/picture" /> 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="Hello, Welcome" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <Button 
     android:id="@+id/buttonSignIN" 
     android:layout_width="fill_parent" 
     android:layout_height="70dp" 
     android:text="Sign In" /> 

    <Button 
     android:id="@+id/buttonSignUP" 
     android:layout_width="fill_parent" 
     android:layout_height="70dp" 
     android:text="Sign Up" /> 

</LinearLayout> 
+1

опубликуйте свой xml, а также .. –

+0

@AndroSelva благодарит, теперь показано выше – meryl2

+0

@AndroSelva Я попытался решить вашу проблему, используя нижеприведенный xml-код onClick, но теперь это похоже на то, чтобы мой эмулятор сработал. Спасибо за вашу помощь, поскольку я новичок в Android и ищут базовую помощь – meryl2

ответ

0

вам не хватает атрибута в XML для buttonSignIN кнопки

android:onClick="signIn" 

Попробуйте это,

 <Button 
     android:id="@+id/buttonSignIN" 
     android:layout_width="fill_parent" 
     android:layout_height="70dp" 
     android:onClick="signIn" 
     android:text="Sign In" /> 

Вы должны понимать разницу между установкой clickListener в Java коде и установив атрибут из XML для кнопки. Это два разных способа, которыми вы могли бы достичь событий щелчка для любого элемента.

Смежные вопросы