2016-08-30 130 views
-1

我認爲應用程序剎車並嘗試添加數據時顯示錯誤。啓動應用程序時出現致命錯誤

public class Employee extends AppCompatActivity { 


    EmployeeDatabase dbEmployee; 

    EditText editId, editIme, editPrezime, editCena ; 
    Button btnDodaj, btnPregledaj; 

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

     dbEmployee = new EmployeeDatabase(this); 
     editId = (EditText)findViewById(R.id.editId); 
     editIme = (EditText)findViewById(R.id.editUserName); 
     editPrezime = (EditText)findViewById(R.id.editPrezime); 
     editCena = (EditText)findViewById(R.id.editCena); 


     addData(); 
     viewAll(); 
    } 

    public void addData(){ 
     btnDodaj.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
         boolean isInserted = dbEmployee.insertData(editIme.getText().toString(), 
           editPrezime.getText().toString(), 
           editCena.getText().toString()); 
         if (isInserted ==true){ 
          Toast.makeText(Employee.this, "Zaposleni je dodat", Toast.LENGTH_SHORT).show(); 
         } else{ 
          Toast.makeText(Employee.this, "Zaposleni nije dodat", Toast.LENGTH_SHORT).show(); 
         } 
        } 
       } 
     ); 
    } 

    public void viewAll(){ 
     btnPregledaj.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
         Cursor res = dbEmployee.getAllData(); 
         if (res.getCount() == 0) { 
          //show message 
          showMessage("Error", "Nothing found"); 
          return; 
         } 
         StringBuffer buffer = new StringBuffer(); 
         while (res.moveToNext()) { 
          buffer.append("id: " + res.getString(0)+"\n"); 
          buffer.append("ime: " + res.getString(1)+"\n"); 
          buffer.append("prezime: " + res.getString(2)+"\n"); 
          buffer.append("cena: " + res.getString(3)+"\n"); 
         } 

         // Show all data 
         showMessage("Zaposleni", buffer.toString()); 
        } 
       } 
     ); 
    } 

    public void showMessage(String title, String message){ 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setCancelable(true); 
     builder.setTitle(title); 
     builder.setMessage(message); 
     builder.show(); 
    } 
} 

基本上我有一個窗體,我填充信息,當按下按鈕時,它應該添加到數據庫。但是,當我點擊按鈕進入表單時,我收到一個錯誤,所以我甚至不能填寫它,然後點擊添加到數據庫。現在

當我點擊添加到數據庫中,我得到這個錯誤:

08-31 06:38:21.234 9528-9528/student1.metropolitan.com.cs330_pz E/AndroidRuntime: FATAL EXCEPTION: main 
                        Process: student1.metropolitan.com.cs330_pz, PID: 9528 
                        java.lang.NullPointerException 
                         at student1.metropolitan.com.cs330_pz.Employee$1.onClick(Employee.java:44) 
                         at android.view.View.performClick(View.java:4438) 
                         at android.view.View$PerformClick.run(View.java:18422) 
                         at android.os.Handler.handleCallback(Handler.java:733) 
                         at android.os.Handler.dispatchMessage(Handler.java:95) 
                         at android.os.Looper.loop(Looper.java:136) 
                         at android.app.ActivityThread.main(ActivityThread.java:5017) 
                         at java.lang.reflect.Method.invokeNative(Native Method) 
                         at java.lang.reflect.Method.invoke(Method.java:515) 
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
                         at dalvik.system.NativeStart.main(Native Method) 
+0

請加logcat的 – 7geeky

回答

1

嗯,看起來像Button btnDodaj, btnPregledaj從未與任何意見。

你們這樣做是正確的爲您EditTexts,就像你在這裏做什麼:

editId = (EditText)findViewById(R.id.editId);

但它在哪裏你的按鈕?

你應該爲你的按鈕有一些類似於你爲EditTexts做的事情。

btnDodaj = (Button) findViewById(R.id.___); 
btnPregledaj = (Button) findViewById(R.id.___); 
+0

它的工作,但現在當我點擊添加按鈕,即時通訊歌廳一個新的錯誤 –

+0

'顯示java.lang.NullPointerException在...員工$ 1.onClick(Employee.java:44)'什麼的第44行?它是'dbEmployee.insertData'嗎? – TWL

相關問題