0

下面是我的onPostExecute方法。当我AsyncTask触发它时,它会做它应该做的所有事情,但是当它试图执行我的应用程序时onPostExecute,我的应用程序崩溃了,我在我的logcat

09-14 22:45:22.481: E/AndroidRuntime(1141): FATAL EXCEPTION: main
09-14 22:45:22.481: E/AndroidRuntime(1141): java.lang.NullPointerException
09-14 22:45:22.481: E/AndroidRuntime(1141):     at com.testapp1.ListView$LoadAllData.onPostExecute(ListView.java:193)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at com.testapp1.ListView$LoadAllData.onPostExecute(ListView.java:1)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at android.os.AsyncTask.finish(AsyncTask.java:631)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at android.os.AsyncTask.access$600(AsyncTask.java:177)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at android.os.Looper.loop(Looper.java:137)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at android.app.ActivityThread.main(ActivityThread.java:5041)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at java.lang.reflect.Method.invokeNative(Native Method)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at java.lang.reflect.Method.invoke(Method.java:511)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-14 22:45:22.481: E/AndroidRuntime(1141):     at dalvik.system.NativeStart.main(Native Method)

这是我的onPostExecute方法

    @Override
    protected void onPostExecute(String file_URL) {

        if(file_URL.equals("0")) { 
            pDialog.dismiss();
            Toast.makeText(ListView.this, "No data found", Toast.LENGTH_SHORT).show();
            finish();

        }else{

        if (pDialog != null && pDialog.isShowing()) pDialog.dismiss();
        ListAdapter adapter = new SimpleAdapter(getBaseContext(), questionList,
                    R.layout.listelements,
                    new String[] { TAG_QUESTION_SUBJECT }, new int[] {
                    R.id.Subject,});

            setListAdapter(adapter);                

        }}}

我可以请人帮忙解决我遇到的这个问题。

4

3 回答 3

1

换行试试

if(file_URL.equals("0")) {

if(file_URL == null || file_URL.equals("0")) {

于 2013-09-14T23:14:32.733 回答
1

只需检查 file_URL :if(file_URL!=null && file_URL.equals("0"))

于 2013-09-14T23:36:26.863 回答
0

if(file_URL.equals("0"))是第 193 行,所以这是 NPE 发生的地方。这里发生的事情是它file_URL本身是空的,并且您正在运行一个空项目的方法 - 因此是问题所在。

所以要解决这个问题,把它包起来:

if(file_URL != null){
  // Your code
}
于 2013-09-14T23:18:41.327 回答