2015-11-02 42 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);