2013-12-21 109 views
6

我的程序在一個活動中生成一個字符串列表,然後將其傳遞給另一個活動,第二個活動使用這些字符串。Android字符串問題

當我通過在第二活動開始的列表中的每個元素打印出測試,打印輸出看上去很完美。例如,如果我希望列表中包含"Lemon Juice",它將打印完全正確,但第二個活動中的邏輯仍然不起作用。如果我手動將"Lemon Juice"添加到列表中,則第二個活動中的邏輯工作正常,所以問題在於收到列表中的字符串不是真的"Lemon Juice"。但是:

  1. 它可以正確打印出來(包括檢查前面和後面的空格)。
  2. 我已經嘗試明確地將收到的列表元素轉換爲(String),以確保它們是字符串。
  3. 如果我運行"Lemon Juice".contains(received String)它回來真的,如果我跑收到String.contains("Lemon Juice")它 回來true,但如果我跑收到String.equals("Lemon Juice")它回來假的。這對我來說非常混亂。

任何人都可以想到一個可能的解釋,說明如何將某些東西轉換爲字符串,打印爲字符串,並且看起來像一個字符串,並不像字符串那樣執行?

編輯,包括所要求的一些代碼:

// instance variable at top of class--list to which strings will be added for use in 
// 2nd activity 
private List<String> exs = new ArrayList<String>(); 

// get array of strings from extra from intent from first activity 
String[] recExs = getIntent().getStringArrayExtra(BrowseActivity.EXS); 

for (int exx = 0; exx < recExs.length; exx++) { 
String curEx = (String) recExs[exx]; 
    exs.add(curEx); 
} 

不知怎的,當我通過EXS到我需要使用字符串的方法,這是行不通的,即使,爲如上所述,印刷調用包含等所有表明,在我將它添加到exs之前,字符串是在我想要它。

+5

請將您的代碼改爲與您的問題相關的簡短代碼片段。我們更容易以這種方式提供幫助。 – iWumbo

+2

我只理解你正在對抗字符串...... –

+1

你不需要在此處投射字符串。 –

回答

1

當您只發布代碼的一小段代碼時,很難提供幫助。

但我猜測String.contains的工作原因,但String.equals並不是說,也許在字符串中有空間。在傳遞和接收數據時,請在活動的兩側嘗試String.trim