Android文本的顺序相反

时间:2012-09-04 19:37:18

标签: android arrays json

由于下面的两个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;
    }
}

2 个答案:

答案 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