大概叙述一下错误:layout中定义了EditText,但是在Java中获取时却报出EditText.getText() on a null object reference错误
这是我layout的文本框设计文件:
这是我的Java文件: 红色底色是设计错误的地方
public class Search_deliveryActivity extends Activity {
private Button confirm,cancel;
private EditText test;
private static final String TAG = "根据快递单号查找的输入页面";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.testlayout);
confirm=(Button)findViewById(R.id.confirm);
cancel=(Button)findViewById(R.id.cancel);
test=(EditText)findViewById(R.id.testtesttest);
confirm.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
// 给bnt1添加点击响应事件
//isDeliverNumOrRight();
Intent intent =new Intent(Search_deliveryActivity.this,ShowDelInfoActivity.class);
//启动
startActivity(intent);
}
});
public String isDeliverNumOrRight() {
if(isEditTextIsBlank()) {
Log.i(TAG,"即将开始跳转至deliverhelper进行查询");
String denum=test.getText().toString().trim();//获取到快递单号的字符串
//DeliverData deliverData=mDatabaseProvider_deliver.searchDel_inf(denum);
Log.i(TAG,"查询到相应快递单号,并获取到deliver/data的对象");
return denum;
}
else return null;
}
public boolean isEditTextIsBlank() {
Log.i(TAG,"即将开始验证快递单号是否为空操作");
System.out.println(test.getText().toString());
if (test.getText().toString().trim().equals("")) {
Toast.makeText(this,"快递单号为空",Toast.LENGTH_SHORT).show();
Log.i(TAG,"快递单号为空");
return false;
} else {
Log.i(TAG,"快递单号不为空");
return true; }}}
下图为报错截图: