2014-01-19 159 views
-1

這是我的MainActivity.java代碼 這裏我創建了一個非常基本的LoginApp。當應用程序運行時,它給 「不幸的是停止工作錯誤...」應用程序不幸停止工作

package com.example.loginapp; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class MainActivity extends Activity implements OnClickListener { 
EditText t1,t2; 
Button b1; 

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

    b1= (Button) b1.findViewById(R.id.button1); 
    t1=(EditText) t1.findViewById(R.id.editText1); 
    t2=(EditText) t2.findViewById(R.id.editText2); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public void onClick(View arg0) 
{ 
    //String user;  
    //user = t1.setText("user"); 

    if (arg0.findViewById(R.id.button1)==b1) 
    { 

    if ((boolean)((t1.getText().toString()=="user")) && (t2.getText().toString()=="user")) 

    { 
     Toast.makeText(this, "Login Sucessful", Toast.LENGTH_SHORT).show(); 

    } 
    else 
    { 
     Toast.makeText(this, "Sorry", Toast.LENGTH_SHORT).show(); 
     t1.setText(""); 
     t2.setText(""); 

    } 
    } 
} 
} 

以下是代碼activity_main.xml中

<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:gravity="center" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignTop="@+id/editText1" 
    android:text="Username"   
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textView1" 
    android:layout_centerVertical="true" 
    android:text="Password" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 



<EditText 
    android:id="@+id/editText1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="115dp" 
    android:layout_marginTop="22dp" 
    android:ems="10" > 


</EditText> 

<EditText 
    android:id="@+id/editText2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/textView2" 
    android:layout_alignLeft="@+id/editText1" 
    android:ems="10" 
    android:inputType="numberPassword" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/textView2" 
    android:layout_marginTop="46dp" 
    android:layout_toRightOf="@+id/textView2" 
    android:clickable="true" 
    android:onClick="onClick" 
    android:text="Login" /> 

</RelativeLayout> 

代碼的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.loginapp" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="14" 
    android:targetSdkVersion="18" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.loginapp.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

</manifest> 
+0

你好歡迎來到StackOverflow社區,你能指出你得到了什麼完整的異常或錯誤,並在哪一行? – Marek

+0

閱讀logcat,Luke .... –

+0

@Marek:先生,我沒有收到編譯錯誤。一些警告持續存在,但與錯誤無關。 – linthum

回答

0

喜請補充onCreate方法爲

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

    b1= (Button) findViewById(R.id.button1); 
    t1=(EditText) findViewById(R.id.editText1); 
    t2=(EditText) findViewById(R.id.editText2); 
} 

這對你有幫助。 修改完代碼後,它可以正常工作。請嘗試讓我知道。

+0

非常感謝Jeba。這幫助了我很多。我的應用程序正常工作! – linthum

+0

您能否簡單介紹一下,爲什麼會導致錯誤? – linthum

+0

您可以按照以下代碼創建Button組件:代碼 b1 =(Button)findViewById(R.id.button1); 但是,您正在嘗試創建按鈕組件,如下所示: Button bl; b1 =(Button)b1.findViewById(R.id.button1); Button b1組件是null.But你試圖b1.findViewById(R.id.button1)(即null.findViewById(R.id.button1)) 這樣只有應用程序被激發。謝謝 – Jeba

相關問題