【发布时间】:2016-10-26 05:15:28
【问题描述】:
我正在为捕获条码制作一个 android 应用程序。该应用程序基本上是什么:从导航抽屉中,我选择了一个将我带到片段的项目,在这个片段中有一个微调器和两个文本视图,我选择微调器的产品,在我手动输入公斤并使用捕获阅读器读取条形码后,当它读取代码时将数据发送到数据库,但是当我转到菜单中的另一个项目并执行相同的程序时它读取系统崩溃的条形码并且不挽救任何价值。我已经尝试了两个星期来解决这个问题,但我不知道为什么会发生这种情况,请帮助!
private BroadcastReceiver mSamDataReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
kilos = edt1.getText().toString().trim();
if (intent.getAction().equals(SCN_CUST_ACTION_SCODE)) {
codigo_barras = intent.getStringExtra(SCN_CUST_EX_SCODE);
edt2.setText(codigo_barras);
System.out.println(kilos+ " " + codigo_barras+" "+ nombre);
if (edt2 !=null){
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getActivity(),R.string.msjeEnvio,Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(),error.toString(), Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
params.put(CATEGORIA,nombre);
params.put(CODIGO,codigo_barras);
params.put(KILOS,kilos);
return params;
}
};
Req.getInstance(getActivity()).addToRequestQueue(stringRequest);
10-26 01:52:48.961 5742-5742/cl.parmex.lfigueroa.inventario E/AndroidRuntime: 致命异常: main java.lang.NullPointerException 在 android.widget.Toast.(Toast.java:92) 在 android.widget.Toast.makeText(Toast.java:238) 在 cl.parmex.lfigueroa.inventario.SpinFragment$2$2.onErrorResponse(SpinFragment.java:244) 在 com.android.volley.Request.deliverError(Request.java:598) 在 com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:101) 在 android.os.Handler.handleCallback(Handler.java:730) 在 android.os.Handler.dispatchMessage(Handler.java:92) 在 android.os.Looper.loop(Looper.java:137) 在 android.app.ActivityThread.main(ActivityThread.java:5136) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:525) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 在 dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
我们可以获取
Logcat/Crash log转储吗?谢谢你 -
您究竟从哪里获得 NPE?请您提供错误跟踪吗?我想帮忙,但目前还不清楚你的错误在哪里。
-
您的 getActivity() 可能返回 null
-
@SravanKumar 我认为错误是因为当我转到菜单中的另一个项目并执行相同的过程时,变量为空,我不知道为什么
-
@NouvelTravay 我已经把错误写在代码里了