2013-09-24 80 views
-3

我有點新,任何幫助,將不勝感激 目前要麼填補它,要麼我得到一個吐司說,有一個空指針。 在if else語句中,它總是會跳轉到else部分。所以,如果不似乎tihnk它是空的,而這就是我得到的吐司(創建在catch)EditText在getText上給出NullPointerException

package com.example.domoticaapp; 

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

public class CreateProfile extends Activity implements OnClickListener 
{ 
//Declare Variables 
DBAdapter myDb; 
EditText ipInput, nameInput; 
Button save; 


@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 

    super.onCreate(savedInstanceState); 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.create_profile); 

    ipInput = (EditText) findViewById(R.id.ipInput); 
    nameInput = (EditText) findViewById(R.id.nameInput); 

    save = (Button) findViewById(R.id.save); 

    save.setOnClickListener(this); 

} 



private void saveProfile() 
{ 
    String IP = ipInput.getText().toString(); 
    String name = nameInput.getText().toString(); 

    if(IP == null || name == null || IP == "" || name == "") 
    { 
     Toast.makeText(this, "Name and IP can't be empty!", Toast.LENGTH_SHORT).show(); 
    } 
    else 
    { 

     try 
     { 
      myDb.insertRow(name, IP); 
      //Intent i = new Intent("com.example.domoticaapp.SQLView"); 
      //startActivity(i); 
     } 
     catch(Exception e) 
     { 

      Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show(); 
     } 
    } 

} 

@Override 
public void onClick(View v) 
{ 
    switch(v.getId()) 
    { 
     case R.id.save: 
       saveProfile(); 
      break; 
    } 
} 

} 
+3

-1我真的不喜歡這樣的問題(「在我自己的代碼中找到NPE」)'myDb'爲空...爲什麼?你在哪裏分配了「myDb」? – Selvin

+0

發佈您的logcat輸出 – Shruti

+0

在setContentView()中檢查您的佈局名稱。那個佈局是否有那些EditText組件? – Aswin

回答

0

試試這個。

if(!IP.equals("") && !name.equals("")) 
{ 
    /** Your Code **/ 
} 
else 
{ 
    Toast.makeText(this, "Name and IP can't be empty!", Toast.LENGTH_SHORT).show(); 
} 
-2
DBAdapter myDb; 

MYDB尚未intialised。你剛纔宣佈它

+2

謝謝,Cpt 。明顯!編輯:那個給我+1這個評論的人知道這是諷刺嗎? – Selvin

0

試試這個

if(TextUtils.isEmpty(name) &&TextUtils.isEmpty(IP)){ 
    Toast.... 
}else{ 
    ... 
} 
+0

這實際上工作 你能解釋一下有什麼不同嗎?由於我的支票應該做同樣的權利?或者它錯過了什麼? – PrivateerGerrit

相關問題