Ответ Json с сервера в виде таблицы в представление Android Recycler - PullRequest
0 голосов
/ 19 февраля 2019

Я работаю над приложением, в котором я извлекаю некоторые данные из базы данных, используя PHP в качестве бэкэнда.У меня есть ответ JSON, который я хочу получить в представлении переработчика в форму макета таблицы.

У меня есть ответ JSON от PHP, который содержит данные.Мой Json состоит из двух массивов: один содержит имя столбца, а второй содержит значения столбца.Я хочу показать это в таблице.Я пробовал использовать вид Recycler, но не могу добиться того, чего хочу.Ниже мой ответ JSON.

[
    [
        {
            "column_name": "email"
        },
        {
            "column_name": "product_code"
        },
        {
            "column_name": "Shape"
        },
        {
            "column_name": "BaseColor"
        },
        {
            "column_name": "Size"
        },
        {
            "column_name": "Qty"
        },
        {
            "column_name": "TransNo"
        },
        {
            "column_name": "Supplier"
        }
    ],
    [
        {
            "column_value": "ht@t.com"
        },
        {
            "column_value": "BBAN0003"
        },
        {
            "column_value": " ELEPHANT"
        },
        {
            "column_value": " "
        },
        {
            "column_value": " 0"
        },
        {
            "column_value": " 1"
        },
        {
            "column_value": " TID00000163"
        },
        {
            "column_value": " ABDUL"
        },
        {
            "column_value": "ht@t.com"
        },
        {
            "column_value": "MAAR0043"
        },
        {
            "column_value": " REC"
        },
        {
            "column_value": " WHITE"
        },
        {
            "column_value": " 06X04"
        },
        {
            "column_value": " 1"
        },
        {
            "column_value": " TID00000075"
        },
        {
            "column_value": " SUNIL"
        }
    ]
]

Я хочу знать, есть ли способ показать этот ответ в таблице в Android Studio с column_name и column_values.

Пожалуйста, помогите мне, я так расстроен этим,Любая помощь будет высоко оценена.СПАСИБО !!!!

1 Ответ

0 голосов
/ 19 февраля 2019

Да, вам нужно получить JSONArray из ответа.После этого вам нужно создать динамические строки в TableLayout

Проверьте мой пример кода:

String astr="[" +
            "  [" +
            "    {" +
            "      \"column_name\": \"email\"" +
            "    }," +
            "    {" +
            "      \"column_name\": \"product_code\"" +
            "    }" +
            "   " +
            "  ]," +
            "  [" +
            "    {" +
            "      \"column_value\": \"ht@t.com\"" +
            "    }," +
            "    {" +
            "      \"column_value\": \"BBAN0003\"" +
            "    } " +
            "  ]" +
            "]";
    try {
        JSONArray jsonArray = new JSONArray(astr);
        TableLayout ll = (TableLayout) findViewById(R.id.displayLinear);
        TextView tv;


        for (int i = 0; i <jsonArray.length(); i++) {
            JSONArray Column= jsonArray.getJSONArray(i);
            TableRow row = new TableRow(this);
                for (int j = 0; j < Column.length(); j++) {
                    TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
                    row.setLayoutParams(lp);
                    tv = new TextView(this);
   JSONObject jsonObject = (JSONObject) Column.get(j);
                    if (i == 0) {
                        tv.setText(jsonObject.getString("column_name"));
                    }
                    else
                    {
                 tv.setText(jsonObject.getString("column_value"));
                    }
                    row.addView(tv);
                }
            ll.addView(row, i);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

Я динамически добавил ROWS вTableLayout.

Надеюсь, это поможет вам.

Счастливое кодирование ...

...