2013-12-19 26 views
0

這是代碼... PLZ讓我知道我去哪裏錯了..我也設置適配器的列表視圖是在視圖v1膨脹conatined ...這是在smartfox服務器的擴展反應全部完成......然後在UI線程以下過程..自定義AlertDialog不會顯示在runonuithread方法

runOnUiThread(new Runnable() { 

          @Override 
          public void run() { 
           // TODO Auto-generated method stub 
           alert(); 
          } 

         }); 


public void alert(){ 

      AlertDialog.Builder ab=new AlertDialog.Builder(RegActivity.this); 
      LayoutInflater linf=(LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); 
      View v1=linf.inflate(R.layout.proj_list, null); 
      ab.setView(v1); 
      ab.setTitle("Select a group"); 
      ListView lvprojlist=(ListView) findViewById(R.id.projdisplaylist); 
      adplist=new ArrayAdapter<String>(RegActivity.this, R.layout.list_item, R.id.rowtext, projlist); 
      lvprojlist.setAdapter(adplist); 


      ab.setCancelable(false).setPositiveButton("Confirm", new DialogInterface.OnClickListener() { 

       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 
        dialog.dismiss(); 


       } 
      }) 
      .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 

       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 
        dialog.dismiss(); 
       } 
      }); 
      ab.create(); 
      ab.show(); 
       } 

這是我的logcat輸出..

12-19 17:14:33.869: W/dalvikvm(699): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
12-19 17:14:33.889: E/AndroidRuntime(699): FATAL EXCEPTION: main 
12-19 17:14:33.889: E/AndroidRuntime(699): java.lang.NullPointerException 
12-19 17:14:33.889: E/AndroidRuntime(699): at com.registersfsmodule.RegActivity.alert(RegActivity.java:392) 
12-19 17:14:33.889: E/AndroidRuntime(699): at com.registersfsmodule.RegActivity$3$2.run(RegActivity.java:178) 
12-19 17:14:33.889: E/AndroidRuntime(699): at android.os.Handler.handleCallback(Handler.java:587) 
12-19 17:14:33.889: E/AndroidRuntime(699): at android.os.Handler.dispatchMessage(Handler.java:92) 
12-19 17:14:33.889: E/AndroidRuntime(699): at android.os.Looper.loop(Looper.java:130) 
12-19 17:14:33.889: E/AndroidRuntime(699): at android.app.ActivityThread.main(ActivityThread.java:3683) 
12-19 17:14:33.889: E/AndroidRuntime(699): at java.lang.reflect.Method.invokeNative(Native Method) 
12-19 17:14:33.889: E/AndroidRuntime(699): at java.lang.reflect.Method.invoke(Method.java:507) 
12-19 17:14:33.889: E/AndroidRuntime(699): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
12-19 17:14:33.889: E/AndroidRuntime(699): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
12-19 17:14:33.889: E/AndroidRuntime(699): at dalvik.system.NativeStart.main(Native Method) 
+1

哪條線是392? – Andrain

+0

其lvprojlist.setAdapter(adplist); – AndroidMech

回答

1

你必須首先改變這種以相反的順序。

ab.setTitle("Select a group"); 
ListView lvprojlist=(ListView) v1.findViewById(R.id.projdisplaylist); 
ab.setView(v1); 

你必須設置你的的ListView的查找用戶名後視圖。

也不要使adplist變量全球。使其靜態。

ArrayAdapter<String >adplist=new ArrayAdapter<String>(RegActivity.this, R.layout.list_item, R.id.rowtext, projlist); 
+0

非常感謝piyush ....該死的..這樣一個愚蠢的錯誤..總之非常感謝.. – AndroidMech