在一个fragment里面写了一个SwipeRefreshLayout内含listview。真机运行的时候
listview的内容不会显示,但虚拟机会显示,listview的内容原是自己电脑作为服务器的
jsp传递的,这个下拉刷新两者都能用,请问这是什么原因??怎么解决
贴上代码
package com.example.my_coffeehouse.fragment;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.example.my_coffeehouse.activity.R;
import com.example.my_coffeehouse.util.Constant;
import com.example.my_coffeehouse.util.HttpUploadUtil;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.SimpleAdapter;
/**
*/
public class Main_OrderFragment extends Fragment {
private static final int REFRESH_COMPLETE = 0X110;
private SwipeRefreshLayout mSwipeLayout;
private SimpleAdapter sa;
private View view;
private ListView lv;
private String aurl = Constant.aURL + "/order/AshowOrder.jsp";
private Map params; // 与服务器交互的标识
private Handler handler;
private String[] listArray;
@SuppressLint({ "HandlerLeak", "InlinedApi" })
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.main_item_order, container, false);// 这个就相当于你加的布局
params = new HashMap();
params.put("parame1", "wok");
new Thread() {
public void run() {
// 获取服务器端传输到客户端的字符串
String msgStr = HttpUploadUtil.postWithoutFile(aurl, params);
Bundle b = new Bundle();
b.putString("msg", msgStr);
Message msg = new Message();
msg.setData(b);
msg.what = Constant.WORKER;
handler.sendMessage(msg);
}// run
}.start();
mSwipeLayout = (SwipeRefreshLayout) view.findViewById(R.id.order_swipe);
mSwipeLayout.setColorScheme(android.R.color.holo_green_dark,
android.R.color.holo_green_light,
android.R.color.holo_orange_light,
android.R.color.holo_red_light);
mSwipeLayout.setOnRefreshListener(new OnRefreshListener() {
public void onRefresh() {
handler.sendEmptyMessageDelayed(REFRESH_COMPLETE, 2000);
}
});
// 将子线程执行的结果,交互主线程
handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case Constant.WORKER:
Bundle b = msg.getData();
String m = b.getString("msg");
// 将子线程执行结果,m,交互给主线程UI层,即listView显示。
initData(m);
break;
case REFRESH_COMPLETE:
// mDatas.addAll(Arrays.asList("Lucene",
// "Canvas","Bitmap"));
// sa.notifyDataSetChanged();
mSwipeLayout.setRefreshing(false);
break;
default:
break;
}
}
};// handler;
return view;
}
/**
}
}
真机调试下个断点,看服务端的数据有没有获取到
同上。
你需要打印下log看服务端的数据有没有获取到。