mam JSON łańcucha znaków przez mego usługi internetowej w sposób następujący:Wypełnianie Tabela układu w ciągu JSON
{ "checkrecord" [{ "rollno": "abc2", "procent": 40 ", z udziałem ": 12," brakowało ": 34}]," Tabela 1 ": []}
Powyższy ciąg reprezentuje mój zbiór danych. Przekonwertowałem ciąg do obiektu JSON i teraz chcę umieścić dane w łańcuchu w TableLayout.
Chcę stół tak być, gdy wyświetlane na Android App:
rollno percentage attended missed
abc2 40 12 34
Jest to kod używam już teraz:
//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 zawiera przycisk i EditText jako pierwszy TableRow. Po kliknięciu przycisku otrzymuję ciąg JSON. Muszę więc dynamicznie wstawiać 2 TableRows, zgodnie z moimi wymaganiami.
Moje xml jak na razie jest w następujący sposób:
<?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>
Więc mój problem jest jak dodać te 2 dodatkowe TableRows tak aby wypełnić je z wartościami ciąg?
Mój kod nie działa poprawnie. Nie jestem w stanie uzyskać wymaganego wyniku.
Czy ktoś może mi w tym pomóc?
Dzięki
dlaczego nie spróbować na multicolumn listview zamiast tablelayout – Abhi
możesz podać jeden przykład listy kolumn w wielu kolumnach? –
http://www.google.co.in/#sclient=psy-ab&hl=pl&source=hp&q=multicolon+listview+w+android&pbx=1&oq=multicolon+listview+w+android&aq=f&aqi=q-w1&aql=&gs_sm= e & gs_upl = 1166l20720l0l20855l66l46l16l0l0l8l1628l26087l2-5.5.11.10.5.4.2l58l0 & bav = on.2, or.r_gc.r_pw., cf.osb & fp = 105f40160a393e37 & BIW = 1024 & bih = 653 – Abhi