2013-06-27 21 views
0

我能夠讓我的對話框彈出一次之前試圖填充我的微調,所以我相信錯誤是加載信息到微調。點擊一個按鈕我啓動一個對話框,它力與此錯誤關閉:強制關閉對話框打開與微調

06-27 18:46:28.101: E/AndroidRuntime(26120): FATAL EXCEPTION: main 
06-27 18:46:28.101: E/AndroidRuntime(26120): java.lang.IllegalStateException: Could not execute method of the activity 
06-27 18:46:28.101: E/AndroidRuntime(26120): at android.view.View$1.onClick(View.java:3609) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at android.view.View.performClick(View.java:4102) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at android.view.View$PerformClick.run(View.java:17126) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at android.os.Handler.handleCallback(Handler.java:615) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at android.os.Handler.dispatchMessage(Handler.java:92) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at android.os.Looper.loop(Looper.java:155) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at android.app.ActivityThread.main(ActivityThread.java:5536) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at java.lang.reflect.Method.invokeNative(Native Method) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at java.lang.reflect.Method.invoke(Method.java:511) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1074) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:841) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at dalvik.system.NativeStart.main(Native Method) 
06-27 18:46:28.101: E/AndroidRuntime(26120): Caused by: java.lang.reflect.InvocationTargetException 
06-27 18:46:28.101: E/AndroidRuntime(26120): at java.lang.reflect.Method.invokeNative(Native Method) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at java.lang.reflect.Method.invoke(Method.java:511) 
06-27 18:46:28.101: E/AndroidRuntime(26120): at android.view.View$1.onClick(View.java:3604) 
06-27 18:46:28.101: E/AndroidRuntime(26120): ... 11 more 
06-27 18:46:28.101: E/AndroidRuntime(26120): Caused by: java.lang.NullPointerException 
06-27 18:46:28.101: E/AndroidRuntime(26120): at com.example.beerportfoliopro.TasteTags.addTaste(TasteTags.java:71) 

具有按鈕上用onclick方法的頁面是:

public class TasteTags extends Activity { 

    BeerData e; 

    String[] tastes = { 
      "Dwight D. Eisenhower", 
      "John F. Kennedy", 
      "Lyndon B. Johnson", 
      "Richard Nixon", 
      "Gerald Ford", 
      "Jimmy Carter", 
      "Ronald Reagan", 
      "George H. W. Bush", 
      "Bill Clinton", 
      "George W. Bush", 
      "Barack Obama" 
    }; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tastetag_page); 

     //get beer data 
     Intent intent = getIntent(); 
     Bundle b = intent.getExtras(); 
     e = b.getParcelable("myBeerObject"); 

     TextView beerTitle = (TextView) findViewById(R.id.beerTitleTaste); 

     beerTitle.setText(e.beerName + " Taste Profile"); 

     String url = myURL; 

     url = url + "b=" +e.beerId; 

     //async task to get beer taste tag percents 
     new GetTasteJSON(this).execute(url); 




    } 

    public void addTaste(View v){ 

     // custom dialog 
     final Dialog dialog = new Dialog(this); 

     Spinner spinner = (Spinner) findViewById(R.id.spinner1); 
     // Create an ArrayAdapter using the string array and a default spinner layout 
     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
     R.array.taste_array, android.R.layout.simple_spinner_item); 

     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     // Apply the adapter to the spinner 
     spinner.setAdapter(adapter); 


     dialog.setContentView(R.layout.add_taste_dialog); 
     dialog.setTitle("Add Taste"); 
     dialog.show(); 


    } 





} 
+0

什麼是線71的所有視圖元素?似乎有'null' – codeMagic

+0

當你調用'spinner.setAdapter(adapter)'時,你確定'addTaste'中的'spinner'不爲null嗎? – Varun

回答

1

如果微調是假設是在對話框那麼問題是這樣的

Spinner spinner = (Spinner) findViewById(R.id.spinner1); 

微調爲空,因爲在視圖中沒有spinner1

你需要這條線後做了什麼dialog.setContentView(R.layout.add_taste_dialog);加入

Spinner spinner = (Spinner) dialog.findViewById(R.id.spinner1); 

您需要先設置對話框的視圖,則得到的對話框