2015-11-02 76 views
0

我是Android新手,我試圖創建一個應用程序,它將一些數據從輔助活動發送到初始活動,並在發送數據後關閉第二個活動。問題是編譯時出現此錯誤Android應用程序在使用editText時崩潰

顯示java.lang.NullPointerException:嘗試上的空對象引用調用虛擬方法 「java.lang.String中java.lang.Object.toString()」

public void sendData(View view) 
{ 
    Bundle bundle = new Bundle(); 
    String msg = new String(""); 
    String msg2 = new String(""); 
    Intent intent1; 
    intent1 = new Intent(this, MainActivity.class); 
    EditText editText1 = (EditText) findViewById(R.id.editText); 
    EditText editText2 = (EditText) findViewById(R.id.editText2); 
    msg = editText1.getText().toString(); 
    msg2 = editText2.getText().toString(); 
    bundle.putString(extra_message,msg); 
    bundle.putString(extra_message2,msg2); 
    intent1.putExtras(bundle); 
    startActivity(intent1); 
    finish(); 
} 

我看過其他文章與此相關。我試圖初始化捕獲editText的值的字符串,但它說它爲空,並導致我的應用程序崩潰。下面我有我的讓人想起ListView和一些項目的代碼和點是從第二個活動添加其他元素:

ListView list = (ListView) findViewById(R.id.listViewMain); 
String[] itemsToBeDisplayed = {"Vezi Doctor", "Cumparaturi", "Facturi", "Datorie"}; 
arrayList=new ArrayList<>(Arrays.asList(itemsToBeDisplayed)); 
adapter=new ArrayAdapter<String>(this,R.layout.list_items,R.id.txtitem,arrayList); 
list.setAdapter(adapter); 
Intent intent = getIntent(); 
Bundle bundle = this.getIntent().getExtras(); 
String new_note = bundle.getString(Add_note.extra_message); 
String notes = bundle.getString(Add_note.extra_message2); 
arrayList.add(new_note); 

這是onCreate方法中。其餘的代碼工作得很好。

+1

'editText1'是'null'可能不會調用'setContentView'或Edttext沒有針對第一項活動 –

+0

提供佈局可用可能是你的問題是,你的editText1或editText2是空的,所以你可以」找到這個字段。把日誌和看 嘗試 (EditText)view.findViewById(R.id.editText); (EditText)view.findViewById(R.id.editText2); – rguerra

+0

或者你的名字是錯的。也許你想得到editText1 (EditText)view.findViewById(R.id.editText1); – rguerra

回答

0

我認爲:爲了傳遞數據,比如bundle,你還需要設置一個變量名稱,而不僅僅是一個值。怎麼樣:

intent1.putExtras("blabla",bundles);