【问题标题】:two values in single array combine from json单个数组中的两个值从 json 组合
【发布时间】:2017-02-24 14:20:15
【问题描述】:

我有一个行程名称,id 与 Json 分开我想将它们添加到单个数组中 arrayName 是tripdet;

我想在列表视图中显示这两个值

Mytrip     55
-------------
secondtrip 56
-------------
Thirdtrip  57
-------------
Fourthtrip 58
-------------
Fifthtrip  59

我已经在波纹管编码中尝试过,但无法做到,需要一些帮助。

    ArrayList<String> tr1 = new ArrayList<String>();
    ArrayList<String> tr2 = new ArrayList<String>();
    ArrayList<String> tripdet = new ArrayList<String>();

@Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);

            System.out.println("--RESULT--" + result);
            JSONObject jObject = null;
            try {
                JSONArray  jArray = new JSONArray(result);

                for (int i = 0; i < jArray.length(); i++) {

                    jObject= jArray.getJSONObject(i);
                    String tripname = jObject.getString("Tripname");
                    String tripid = jObject.getString("id");
                    //Log.v("result1", jObject.toString());
                    Log.v("Response", tripname + " " + tripid);
                    tr1.add(tripname);  //Tripname = Mytrip
                    tr2.add(tripid);    //tripid = 55
                //Need the above two value in tripdet array


                }

【问题讨论】:

  • 您需要创建一个带有名称和 ID 的类 Trip,并创建该类的列表。
  • 来自tripdet的项目应该有什么格式?您希望如何将这些值添加到 tridet 数组中?

标签: java android listview arraylist


【解决方案1】:

由于 JSON 始终返回 String,您可以使用 + 号将它们连接起来 用分隔符将它们分开 如下

ArrayList<String> tr3 = new ArrayList<String>();
 tr3.add(tripname + "|" + tripid ); 

现在 tre3 在单个 arrayList

中包含所有 json 值

提示:- 如果您现在需要分别获取它们中的每一个,您可以使用 split() 方法和您在我的情况下选择的指定分隔符

String [] data =`tre3[i].splite("|");`

【讨论】:

  • 如果我想在点击特定单元格时将 id 值发送到另一个活动,则意味着如何做到这一点。
  • 绝对你会知道点击的索引假设你点击了第二个项目这意味着索引一个所以你可以说 String [] data =tre3[i].splite("|"); 然后 data[0] 包含名称和数据 [ 1] 包含您的 id 现在您可以将其发送到您需要的地方
  • 那么 String [] 数据有行程名称或行程 ID?我只需要旅行 ID
  • 好的,会检查的
  • 在这种情况下,字符串 [] 数据具有它们两者的另一种仅获取 id 的方法是使用以下步骤:- 1- 使用 tre3[i].indexOf(word) 获取分隔符的索引 2- 使用 substring(int beginIndex) 到仅获取 ID
猜你喜欢
  • 1970-01-01
  • 2018-07-04
  • 2021-01-16
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
  • 1970-01-01
相关资源
最近更新 更多