У меня есть веб-служба, возвращаемая JSON String следующим образом:
{ "checkrecord" [{ "rollno": "abc2", "процент": 40, "участие": 12, "пропустили": 34}], "Таблица1": []} * * 1 004
Приведенная выше строка представляет мой набор данных. Я преобразовал String в объект JSON и теперь хочу поместить данные в String в TableLayout.
Я хочу, чтобы таблица отображалась в приложении Android:
rollno percentage attended missed
abc2 40 12 34
Это код, который я сейчас использую:
//json processing code
public void jsonprocessing(String c)
{
try
{
JSONObject jsonobject = new JSONObject(c);
JSONArray array = jsonobject.getJSONArray("checkrecord");
int max = array.length();
for (int j = 0; j < max; j++)
{
JSONObject obj = array.getJSONObject(j);
JSONArray names = obj.names();
for (int k = 0; k < names.length(); k++)
{
name = names.getString(k);
value= obj.getString(name);
createtableLayout();
}
}
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//create table layout
public void createtableLayout()
{
Log.d("values",value); //I am able to see the values abc2,40,12 and 34 over here in logcat
TableLayout t= (TableLayout)findViewById(R.id.tablelayout);
TableRow r1=new TableRow(this);
r1.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
TextView t1 = new TextView(this);
t1.setText(value);
t1.setTextColor(Color.BLACK);
t1.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
r1.addView(t1);
t.addView(r1, new TableLayout.LayoutParams( LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
}
My TableLayout содержит кнопку и EditText в качестве первого TableRow. После нажатия на кнопку я получаю строку JSON. После этого мне нужно динамически вставить 2 TableRows в соответствии с моим требованием.
Мой xml на данный момент выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tablelayout"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:background="#000044">
<TableRow>
<EditText
android:id="@+id/edittext"
android:width="200px" />
<Button
android:id="@+id/button"
android:text="Check Record"/>
</TableRow>
</TableLayout>
Итак, моя проблема в том, как добавить эти 2 дополнительные TableRows, чтобы заполнить их значениями String?
Мой код не работает нормально. Я не могу получить требуемый вывод.
Может ли кто-нибудь помочь мне в этом?
Спасибо