2013-03-21 146 views
-2

我正在開發一個android應用程序。它可以在我的筆記本電腦上正常工作,但是如果我在其他筆記本電腦或Android設備上使用相同的源代碼,它不會加載某些東西(例如鏈接到遠程SQL數據庫的列表)。它使用完全相同的代碼和軟件版本在我的筆記本電腦上正常加載。Android應用程序不能在另一臺筆記本電腦上工作

這可能是什麼原因造成的?

這是我現在得到的錯誤:

03-21 23:42:20.174: W/dalvikvm(1037): threadid=1: thread exiting with uncaught exception (group=0x40014760) 
03-21 23:42:20.183: E/AndroidRuntime(1037): FATAL EXCEPTION: main 
03-21 23:42:20.183: E/AndroidRuntime(1037): java.lang.NullPointerException 
03-21 23:42:20.183: E/AndroidRuntime(1037):  at android.widget.PopupWindow.showAtLocation(PopupWindow.java:791) 
03-21 23:42:20.183: E/AndroidRuntime(1037):  at com.fokrul.justdeals.ActivityTab$2.onItemLongClick(ActivityTab.java:298) 

和我行298如下:

lvBooks.setOnItemLongClickListener(new OnItemLongClickListener(){ 
       public boolean onItemLongClick(AdapterView<?> arg0, View view, final int position, long arg3) { 
        LayoutInflater inflater = (LayoutInflater)ActivityTab.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
        View viewInflated = inflater.inflate(R.layout.popupfile, null, false); 
        popup = new PopupWindow(viewInflated, Resizable.getDrawableWidth(getResources(), R.drawable.popup_menu), Resizable.getDrawableHeight(getResources(), R.drawable.popup_menu), true); 

        popup.setAnimationStyle(R.style.animation_popup); 

        View lvBooks = null; 
    <THIS IS LINE 298>>>>> popup.showAtLocation(lvBooks, Gravity.NO_GRAVITY, view.getWidth()/2-Resizable.getDrawableWidth(getResources(), R.drawable.popup_menu)/2, view.getTop()+view.getHeight()/2); 

        setPopupListeners(viewInflated, position, bid); 

        return false; 
       } 
      }); 
+1

檢查您的logcat - 最有可能的是,您無權訪問遠程數據庫。 – 323go 2013-03-21 23:08:56

+0

我認爲您正在使用Eclipse進行開發。看看LogCat - 聽起來你的筆記本電腦與SQL數據庫的連接有問題,所以很可能你會看到LogCat中拋出的異常。 – Darwind 2013-03-21 23:09:07

+0

logcat中沒有錯誤,連接參數都沒有問題。在我的筆記本電腦上,相同的連接參數和代碼如何工作完美無瑕? 〜它在不同的筆記本電腦上訪問相同的分貝。而我的遠程數據庫是通過PHP API訪問的Android設備訪問。它可以是一個錯誤與PHP? – 2013-03-21 23:12:35

回答

0

你傳遞一個null參數在showAtLocation()方法。如果您查看documentation for showAtLocation(View, int, int, int),則說它在View上調用getWindowToken()。由於您的情況爲null,因此您將獲得NullPointerException。您需要確保lvBooks已設置爲實際的View

+0

最佳答案!有效 – 2013-03-22 21:09:02

相關問題