hi to all, i spent 2 days to try to fill a scrollpane with data that i get from internet, but i always have an error and all crash!
The code tha i use is :
HttpResponseListener listener = new HttpResponseListener() {
@SuppressWarnings("unchecked")
@Override
public void handleHttpResponse(HttpResponse httpResponse) {
container.clearChildren();
Json carica = new Json();
utenti = (Array<Utente>)carica.fromJson(Object.class, httpResponse.getResultAsString());
for (Utente user : utenti) {
container.row();
container.add(new Label(user.username, skin)).uniform();
if(!user.privato)
container.add(new TextButton("View", skin)).width(unit_x).height(unit_y*.5f).padLeft(unit_x*.2f);
}
}
@Override
public void failed(Throwable t) {
if(t.getMessage() != null) {
container.row();
container.add(new Label(t.getMessage(), skin)).uniform();
MyLittleCompany.Debug(t.getMessage());
}
}
};
Gdx.net.sendHttpRequest(httpPost, listener);
where httpPost is the HttpRequest that i use to get data from my php page.
sometimes it works, but the table is not set correctly, other times is all ok, but for most of try i get this error:
11-28 08:35:00.518: E/AndroidRuntime(15646): FATAL EXCEPTION: GLThread 924
11-28 08:35:00.518: E/AndroidRuntime(15646): java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.esotericsoftware.tablelayout.BaseTableLayout.layout(BaseTableLayout.java:745)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.ui.TableLayout.layout(TableLayout.java:51)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.ui.Table.layout(Table.java:261)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup.validate(WidgetGroup.java:106)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.ui.ScrollPane.layout(ScrollPane.java:512)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup.validate(WidgetGroup.java:106)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.ui.TableLayout.layout(TableLayout.java:81)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.ui.Table.layout(Table.java:261)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup.validate(WidgetGroup.java:106)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.ui.Table.draw(Table.java:79)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.Group.drawChildren(Group.java:111)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.Group.draw(Group.java:56)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.scenes.scene2d.Stage.draw(Stage.java:183)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.grevius.games.Screens.OnlineData.render(OnlineData.java:58)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.Game.render(Game.java:46)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.grevius.games.mylittlecompany.MyLittleCompany.render(MyLittleCompany.java:58)
11-28 08:35:00.518: E/AndroidRuntime(15646): at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:499)
11-28 08:35:00.518: E/AndroidRuntime(15646): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1513)
11-28 08:35:00.518: E/AndroidRuntime(15646): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1267)
The problem i think is in there line: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2 where sometine i get value of 4, 7, 2, 10 and other number.
How can i resolve it? i’m desperated :’(