2016-08-30 16 views
-1

私はappブレーキを考えて、addDataを実行しようとするとエラーを表示します。アプリケーションを起動すると致命的なエラーが発生する

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(); 
    } 
} 

基本的に私は情報を入力するフォームを持っており、ボタンを押すとデータベースに追加する必要があります。しかし、フォームに入るためにボタンをクリックするとエラーが出るので、それを埋めることさえできず、データベースに追加をクリックします。今

私はこのエラーを取得していたデータベースに追加]をクリックします:そのButton btnDodaj, btnPregledajは、任意のビューにリンクされなかったよう

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

まあ、見えます。

あなたはここで何をしたかのように、あなたのEditTexts正しくそれをやった:

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

しかし、ここでは、それはあなたのボタンのためにあるのですか?

EditTextsに似たボタンが必要です。

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

を追加してください、しかし、今私がクリックしたときに...従業員$ 1.onClick(Employee.java:44)新しいエラー –

+0

'のjava.lang.NullPointerExceptionが'で何getingボタンイムを追加44行? 'dbEmployee.insertData'ですか? – TWL

関連する問題