Le remplissage de la Table de Mise en page à l'aide de Chaîne JSON

J'ai une Chaîne JSON renvoyé par mon web service, comme suit:

{"checkrecord"[{"rollno":"abc2","pourcentage":40,"assisté":12,"raté":34}],"Table1":[]}

Au-dessus de la Chaîne représente mon dataset. J'ai converti la Chaîne de caractères dans un Objet JSON et je veux maintenant mettre les données dans la Chaîne de caractères dans un TableLayout.

Je veux de la table pour être comme cela, lorsqu'elles sont affichées sur l'application android:

    rollno       percentage    attended    missed
     abc2          40              12        34

C'est le code, je suis en utilisant dès maintenant :

    //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));

 }

Mon TableLayout contient un bouton et un EditText comme la première TableRow. Après je clique sur le bouton je reçois la Chaîne JSON. Donc j'ai besoin d'insérer 2 TableRows dynamiquement par la suite que par mon exigence.

Mon xml pour l'instant est comme suit:

   <?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>

Donc mon problème est de savoir comment ajouter ces 2 extra TableRows de manière à les remplir avec les valeurs de Chaîne ?

Mon code ne fonctionne pas bien. Je ne suis pas en mesure d'obtenir les résultats recherchés.

Quelqu'un peut m'aider?

Grâce

pourquoi ne pas essayer pour multicolonnes listview au lieu de tablelayout
u peut donner un exemple de multicolumn listview?
google.co.dans/...
de nombreux échantillons sont là mec, les essayer
oui ok je l'ai vu , j'ai donc créer HashMap à la fois de "nom" et "valeur" dans mon cas, et il suffit de mettre dans la carte et adaptateur droit?

OriginalL'auteur Parth Doshi | 2011-12-03