2012-09-04 48 views
1

由於下面的兩個for循環我應該得到一個專輯名稱,但我得到這個名字相反的順序。例如,如果我期望「LINK」,我會得到「KNIL」......我哪裏錯了?Android文本是相反的順序

下面是代碼:

jsonobj = new JSONObject(param); 
JSONObject datajson = jsonobj.getJSONObject("data"); 
JSONArray news = datajson.getJSONArray(TAG_NEWS); 
JSONArray actual = datajson.getJSONArray("actual"); 
for(int i = 0; i < news.length(); i++){ 
    JSONObject c = news.getJSONObject(i); 

    // Storing each json item in variable 
    String id = c.getString(TAG_ID); 
    String title = c.getString(TAG_TITLE); 
    String album = c.getString(TAG_ALBUM); 
    TextView tv = (TextView) findViewById(R.id.imgtest); 
    //tv.setText(album); 
    if(!(album == "null")){ 
     String var[] = album.split("|"); 
     for(int a=0;a<var.length;a++){ 
      String t = var[a].intern(); 
      String al = ((TextView) findViewById(R.id.imgtest)).getText().toString(); 
      String b = t+al; 
      tv.setText(b); 
     } 
    }else{ 
     break; 
    } 
} 
+0

什麼數據在'datajson'看起來像? – Izkata

回答

2

此行是增加了最新信t到現有的字符串al的開頭:

String b = t+al; 

然而,而不是簡單地圍繞切換本線(b = al + t ),我推薦更快方法:

String album = c.getString(TAG_ALBUM).replaceAll("|", ""); 
TextView tv = (TextView) findViewById(R.id.imgtest); 
tv.setText(album); 

我看起來像你只是想刪除「|」字符來自您的album字符串,因此只需使用String.replaceAll()


如果您需要album分成數組,那麼當你重建字符串不要浪費你的時間,你已經有一個觀點叫findViewById()。事實上,你已經擁有的字符串,所以沒有必要使用getText()之一:

String var[] = album.split("|"); 
StringBuilder builder = new StringBuilder(); 
for(int a=0;a<var.length;a++) 
    builder.append(a); 

// use builder.toString() when you want the cleaned album name. 
+0

沒有那只是測試,需要獲得該數組,只是告訴我如何使正確的順序文本 –

0

要最新的信t添加到當前字符串al的結尾:

b = al + t