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
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
Vous devez vous connecter pour publier un commentaire.
vous pouvez utiliser plusieurs colonnes listview pour votre but,
Analyser la réponse JSON et récupérer des valeurs dans les différentes cordes et utiliser ce blog pour votre but
Multicolonnes Listview
OriginalL'auteur Abhi
Vous, probablement, peut définir ces 2 lignes dans votre XML et de les rendre invisible initialement. Ensuite, lors de la réception de vos données vos données dans ces lignes et de les rendre visibles.
Je pense que oui, quelque chose comme la Vue v = findViewById(R. id.viewid); v. setVisibility(View.Visible)
OriginalL'auteur Alexander Kulyakhtin
OriginalL'auteur Vinod Joshi