2011-12-08 96 views
0

所以我試圖創建一個活動,將某些值傳遞給另一個活動,然後根據這些值選擇幾種不同的佈局之一。擁有各種可能的佈局

我知道這些值是通過罰款,但它不會顯示佈局(或任何佈局,它只是停留在前一個屏幕上)。我的代碼是:

public class ContactDisplay extends GetContact { 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     Bundle extras = getIntent().getExtras(); 
     String nameChosen = extras.getString("nameSpinner"); 
     String addressChosen = extras.getString("addressSpinner"); 

     if((nameChosen == "Michael") && (addressChosen == "Michaels Address")){ 
      setContentView(R.layout.contact1_layout); 
     } 

    } 
} 

我只是將它設置與佈局之一,到目前爲止,但如果邁克爾和邁克爾地址都選擇了它應該工作。有沒有人知道我要去哪裏錯了?

回答

3

使用此代碼來代替:

if((transportItemChosen.equals("Michael")) && (locationItemChosen.equals("Michaels Address"))){ 
     setContentView(R.layout.contact1_layout); 
    } 

在Java中,你要比較字符串時不==操作符使用了equals()函數。

+0

啊,這就是我出錯的地方,非常感謝。 – djcmm476

0

第一個想法是,我會嘗試不使用硬編碼的值作爲額外的,因爲你可以拼錯某些東西,它很容易被卡住......如果這不是問題,那麼嘗試做一些日誌,看看你有

是的,比較兩個Objects使用equals()方法不是==操作符:您收到transportItemChosenlocationItemChosen

編輯到底是什麼。