2014-01-21 5 views
-1

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

Это кодирование. это будет тост имени пользователя в зависимости от того, какое имя я ввел в экран входа. не было бы никакого пароля.

Я не знаю, что не так с моим кодом. Может кто-нибудь помочь мне?

homeactvity.java:

public class homeActivity extends Activity{ 
    Button btnLogIn; 
    Button btnAbout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.homescreen); 
     // create a instance of SQLite Database 

     // Get The Reference Of Buttons 
     btnLogIn=(Button)findViewById(R.id.buttonLogIn); 

     btnAbout=(Button)findViewById(R.id.buttonAbout); 

     // Set OnClick Listener on SignUp button 

      // set OnClick Listener on About button 
      btnAbout.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 

        /// Create Intent for About and start activity 
        Intent intentAbout=new Intent(getApplicationContext(),about.class); 
        startActivity(intentAbout); 
        } 
       }); 


     } 
    // Methods to handleClick Event of Sign In Button 
     public void LogIn(View V) 
      { 
       final Dialog dialog = new Dialog(homeActivity.this); 
       dialog.setContentView(R.layout.login); 
       dialog.setTitle("Login"); 

       // get the Refferences of views 
       final EditText editTextUserName=(EditText)dialog.findViewById(R.id.editTextUserNameToLogin); 

       Button btnLogIn=(Button)dialog.findViewById(R.id.buttonLogIn); 

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

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

         // fetch the Password form database for respective user name 
       // check if the Stored password matches with Password entered by user 
         if(userName.equals(userName)) 
         { 
          Toast.makeText(homeActivity.this, "Welcome," + userName, Toast.LENGTH_LONG).show(); 
          dialog.dismiss(); 
          Intent mainact=new Intent(getApplicationContext(),MainActivity.class); 
          startActivity(mainact); 


         } 
         else 
         { 
          Toast.makeText(homeActivity.this, "No Such Username", Toast.LENGTH_LONG).show(); 
         } 
        } 
       }); 

       dialog.show();   

     } 

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

    } 

homescreen.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:orientation="vertical" 

    android:gravity="center_vertical" 
    > 


    <Button 
     android:id="@+id/buttonLogIn" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Login" 
     android:onClick="LogIn"/> 

    <Button 
     android:id="@+id/buttonAbout" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="About" /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/home" /> 

</LinearLayout> 

login.xml:

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

    <EditText 
     android:id="@+id/editTextUserNameToLogin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="User Name" 
     android:ems="10" > 
     <requestFocus /> 
    </EditText> 


    <Button 
     android:id="@+id/buttonLogin" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Log In" /> 
</LinearLayout> 
+1

показать свой журнал сбоев. –

+0

@ amitsingh в моем logcat ничего нет – Chloe

+0

Идентификатор кнопки в вашем login.xml - buttonLogin, но ваш данный как buttonLogIn –

ответ

3

Вы должны использовать

Button btnLogIn=(Button)dialog.findViewById(R.id.buttonLogin); 

вместо

Button btnLogIn=(Button)dialog.findViewById(R.id.buttonLogIn); 

в вашем методе LogIn как ваш Button в login.xml содержит идентификатор buttonLogin не buttonLogIn

0

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

Ваш идентификатор кнопки в вашем login.xmlbuttonLogin это, но ваш дается как идентификатор as buttonLogIn

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

    Button btnLogIn=(Button)dialog.findViewById(R.id.buttonLogin); 
0

Вы можете также показать Toast сообщение как этот

runOnUiThread(new Runnable() 
{ 
public void run() { 
Toast.makeText(getApplicationContext(), "Your message", Toast.LENGTH_LONG).show(); 
    } 
           }); 
0

setContentView(R.layout.login); вместо setContentView(R.layout.homescreen);