2012-02-20 16 views
0

因此,我檢查了R.id.button(我的按鈕ID的名稱)以確保它很好,但是任何時候我嘗試運行單擊按鈕時,它都會嚇壞了Log Cat告訴我我有一個空指針異常。任何幫助,將不勝感激,代碼如下。拋出一個按鈕的空指針異常

public class RSSReaderActivity extends Activity { 
     RSSParser RSStext; 
     public EditText url; 
     Button feedButton; 
     /** Called when the activity is first created. */ 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 

      super.onCreate(savedInstanceState); 
      url = (EditText) findViewById(R.id.url_text); 
      feedButton = (Button) findViewById(R.id.button); 
      setContentView(R.layout.main); 
     } 

     public boolean onCreateOptionsMenu (Menu menu){ 
      MenuInflater inflater = getMenuInflater(); 
      inflater.inflate(R.menu.menu, menu); 
      return true;//true makes visible 
     } 

     public boolean onOptionsItemSelected(MenuItem item){ 
      switch(item.getItemId()){ 
       case R.id.exit: this.finish(); 
      } 
      return true;//true makes visible 
     } 

     public void parser(View view){//test code 
      if(url.equals(null)){ //This is the line where my error is thrown according to log cat 
       Toast toast = Toast.makeText(getApplicationContext(), "No URL entered!", 5); 
       toast.show(); 
      } 
      else{ 
       String temp = url.toString(); 
       RSStext = new RSSParser(temp); 
      } 
     } 
    } 

和XML我的主類:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center|top" 
     android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:text="@string/hello" /> 

     <EditText 
      android:id="@+id/url_text" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:clickable="true" 
      android:inputType="textUri" 
      android:text="@string/default_url" /> 

     <Button 
      android:id="@+id/button" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:onClick="parser" 
      android:text="@string/feed_button" /> 

    </LinearLayout> 
+0

BTW使用URL之前設定內容查看== null替代url.equals的(空)。沒有必要使用null進行等於檢查。 – Ixx 2012-02-20 01:31:20

回答

4

你獲得的EditText

@Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     url = (EditText) findViewById(R.id.url_text); 
     feedButton = (Button) findViewById(R.id.button); 

    } 
+0

非常好,謝謝。現在我只需要實際做一些有用的信息。 – CodeDragonDM 2012-02-20 01:57:12

+3

像複製粘貼? – Ixx 2012-02-20 02:16:33