由于下面的两个for循环,我应该得到一个专辑名称,但我得到的名称相反。例如,如果我期待“LINK”,我会“知道”......我哪里出错了?
以下是代码:
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 :(得分: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
拆分为数组,那么当您重建String时,不要浪费时间在已有的视图上调用findViewById()
。实际上你已经有了String,因此不需要使用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.
答案 1 :(得分:0)
将最新的字母t
添加到当前字符串al
的末尾:
b = al + t