80,351
社区成员
发帖
与我相关
我的任务
分享
package net.iwetao.order;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONObject;
import net.iwetao.R;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import net.iwetao.init.RedefineHttpRequest;
public class Order extends Fragment {
private ListView orderListView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
return inflater.inflate(R.layout.index_order, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
// 其他操作
String url = "http://www.91weida.com/androidTest.php";
HashMap<String,Object> param = new HashMap<String,Object>();
param.put("act","getOrder");
param.put("page",1);
try
{
this.getOrders(url,param);
}
catch(Exception e)
{
android.util.Log.i("sysEr",e.toString());
Toast.makeText(this.getActivity(),"服务器连接出错", Toast.LENGTH_SHORT).show();
}
//TextView orderList = (TextView)getActivity().findViewById(R.id.init_test);
/* 设置订单管理的监听事件 */
/*orderList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
*/
}
/*
* 获取服务器订单
* @param String url, HashMap<String,Object> data
* @void
*/
public void getOrders(String url,HashMap<String,Object> param) throws Exception
{
String data = RedefineHttpRequest.HttpPost(url, param); //取得服务器返回的json
JSONObject msg = new JSONObject(data);
int error = msg.getInt("error");
switch (error)
{
case 0: //返回正确
JSONArray arr = msg.getJSONArray("data");
if(arr.length()==0) //订单数组为空
{
}
else
{
List<HashMap<String,Object>> res = new ArrayList<HashMap<String,Object>>(); //定义订单集合数组
for(int i=0;i<arr.length();i++)
{
HashMap<String,Object> map = new HashMap<String,Object>();
JSONObject order = arr.getJSONObject(i); //取得每一个订单
map.put("order_id", order.getInt("order_id"));
map.put("goods_name",order.getString("goods_name"));
map.put("amount", order.getDouble("amount"));
res.add(map); //添加到集合数组
}
//res经过打印是绝对不为null的
SimpleAdapter adapter = new SimpleAdapter(this.getActivity(), res,R.layout.index_order,
new String[]{"order_id"},
new int[]{R.id.order_id}
);
android.util.Log.i("msg",""+res);
try
{
orderListView.setAdapter(adapter);
}
catch(Exception e)
{
android.util.Log.i("exception",e.toString()); //报空指针问题
}
}
break;
case 1: //返回错误
break;
case 2: //未登录
break;
}
}
}
private ListView orderListView;
变量声明的问题,是不是需要对变量赋值之类的才能调用setAdapter()呢?