我每30秒收到一次网络数据。问题是来自listview的数据不会令人耳目一新。我的用户验证码:从网络接收数据时重新加载列表查看
t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
doReload1();
}
}, 300, 30000);
public void doReload1() {
runOnUiThread(new Runnable(){
public void run() {
System.out.println("Every 30 sec getPlaylist");
try {
HttpClient httpclient = new DefaultHttpClient();
String link = "http://test.res-novae.fr/sfr/imalive.php?device_key="
+ deviceId + "&device_type=9";
System.out.println("trimit " + link);
HttpPost httppost = new HttpPost(link);
try {
httpclient.execute(httppost);
GetPlaylists();
System.out.println("getplaylist");
} catch (ClientProtocolException e) {
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
和填充ListView:
if (playlists.length != 0) {
MyListView = (ListView) findViewById(R.id.MyListView);
adapter1 = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, playlists);
MyListView.setAdapter(adapter1);
}
我从列表视图网络数据获取,但它并不显示在屏幕上。 Plase help..I花了大量的时间与此:(
这里是我的播放列表数组:
try {
HttpResponse response = httpclient.execute(httppost);
/* Checking response */
if (response != null) {
String responseBody = EntityUtils.toString(response
.getEntity());
System.out
.println("Rezultat de la server :" + responseBody);
String jsonString = responseBody.toString();
JSONObject jsonObject = new JSONObject(jsonString);
jArray = jsonObject.getJSONArray("_playLists");
playlists = new String[jArray.length()];
idPlaylist = new String[jArray.length()];
timerPlaylist = new String[jArray.length()];
for (int i = 0; i < jArray.length(); i++) {
JSONObject jsdata = jArray.getJSONObject(i);
String id = jsdata.getString("id_playlist");
String namePlaylist = jsdata.getString("name");
String timer = jsdata.getString("timer");
System.out.println("Name playlist" + namePlaylist);
playlists[i] = namePlaylist;
idPlaylist[i] = id;
timerPlaylist[i] = timer;
}
for (int i = 0; i < jArray.length(); i++) {
System.out.println("playlists : " + playlists[i] +"\n");
}
}
它看起来不像e刷新问题。当您设置适配器时,是否在控制台上登录了数组playLists的内容? – jptsetung
是的,它具有核心数据。来自web的结果如下所示:{“_playLists”:[{“id_playlist”:“33”,“name”:“SFR Demo”,“timer”:“2”}, { “id_playlist”: “49”, “名称”: “Second'playlist”, “定时器”: “1”},{ “id_playlist”: “50”, “名称”: “TREI”, “定时器”:” 1“}]}和playLists包含”SFR演示“,”第二个播放列表“,”trei“ – Gabrielle
您可以在创建适配器之前尝试覆盖playLists。例如,在创建适配器之前添加此行。 String [] playlists = new String [] {“Item0”,“Item1”,“Item3”}; – jptsetung