我们需要在之前的首页基础上添加内容
新闻部分存在热门和预览内容
功能部分的Java代码
/**
* 服务入口
*/
private void initFunction() {
JSONObject jsonObject = new JSONObject();
final RequestQueue requestQueue = Volley.newRequestQueue(getContext());
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
final Gson gson = new Gson();
functionBean = gson.fromJson(response.toString(), FunctionBean.class);
gv_serve_home.setAdapter(new BaseAdapter() {
private void initView(View function) {
imgItem = (ImageView) function.findViewById(R.id.img_item);
txtItem = (TextView) function.findViewById(R.id.txt_item);
}
private TextView txtItem;
private ImageView imgItem;
@Override
public int getCount() {
return 10;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = View.inflate(getContext(), R.layout.item_function, null);
initView(convertView);
if (position < 9) {
Glide.with(getContext()).load(AppConfig.ip + functionBean.getRows().get(position).getImgUrl()).into(imgItem);
txtItem.setText(functionBean.getRows().get(position).getServiceType());
} else {
Glide.with(getContext()).load(AppConfig.ip + functionBean.getRows().get(position).getImgUrl()).into(imgItem);
txtItem.setText("更多服务");
}
return convertView;
}
});
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getContext(), "请求错误", Toast.LENGTH_SHORT).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getContext(), "服务错误", Toast.LENGTH_SHORT).show();
}
});
requestQueue.add(jsonObjectRequest);
/**
* 服务入口的点击事件
*/
gv_serve_home.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
Toast.makeText(getContext(), "0号", Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(getContext(), "1号", Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(getContext(), "2号", Toast.LENGTH_SHORT).show();
break;
case 3:
Toast.makeText(getContext(), "3号", Toast.LENGTH_SHORT).show();
break;
case 4:
Toast.makeText(getContext(), "4号", Toast.LENGTH_SHORT).show();
break;
case 5:
Toast.makeText(getContext(), "5号", Toast.LENGTH_SHORT).show();
break;
case 6:
Toast.makeText(getContext(), "6号", Toast.LENGTH_SHORT).show();
break;
case 7:
Toast.makeText(getContext(), "7号", Toast.LENGTH_SHORT).show();
break;
case 8:
Toast.makeText(getContext(), "8号", Toast.LENGTH_SHORT).show();
break;
case 9:
startActivity(new Intent(getContext(), MainActivity.class).putExtra("page", 9));
getActivity().finish();
break;
}
}
});
}
/**
* 热门
*/
private void initHot1() {
JSONObject jsonObject = new JSONObject();
final Integer[] one = new Integer[1];
final Integer[] two = new Integer[1];
final RequestQueue requestQueue = Volley.newRequestQueue(getContext());
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener<JSONObject>() {
@Override
public void onResponse(final JSONObject response) {
try {
final int i = Integer.parseInt(response.getString("total"));
one[0] = response.getJSONArray("rows").getJSONObject(0).getInt("id");
two[0] = response.getJSONArray("rows").getJSONObject(1).getInt("id");
gv_hot_home.setAdapter(new BaseAdapter() {
private void initView(View hot) {
imgItem = (ImageView) hot.findViewById(R.id.img_item);
txtItem = (TextView) hot.findViewById(R.id.txt_item);
}
private TextView txtItem;
private ImageView imgItem;
@Override
public int getCount() {
return i;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = View.inflate(getContext(), R.layout.item_hot, null);
initView(convertView);
try {
Glide.with(getContext()).load(AppConfig.ip + response.getJSONArray("rows").getJSONObject(position).getString("cover")).into(imgItem);
txtItem.setText(response.getJSONArray("rows").getJSONObject(position).getString("title"));
} catch (JSONException e) {
e.printStackTrace();
}
return convertView;
}
});
} catch (Exception e) {
Toast.makeText(getContext(), "热门咨询请求错误", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getContext(), "热门资讯网络服务错误", Toast.LENGTH_SHORT).show();
}
});
requestQueue.add(jsonObjectRequest);
gv_hot_home.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getContext(), ShowActivity.class);
switch (position) {
case 0:
intent.putExtra("idNews", one[0]);
startActivity(intent);
break;
case 1:
intent.putExtra("idNews", two[0]);
startActivity(intent);
break;
}
}
});
}
/**
* 新闻分类
*/
private void initBtn() {
final int[] num = {22};
initNew(num[0]);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.type_22:
num[0] = 22;
initNew(num[0]);
break;
case R.id.type_9:
num[0] = 9;
initNew(num[0]);
break;
case R.id.type_17:
num[0] = 17;
initNew(num[0]);
break;
case R.id.type_19:
num[0] = 19;
initNew(num[0]);
break;
case R.id.type_20:
num[0] = 20;
initNew(num[0]);
break;
case R.id.type_21:
num[0] = 21;
initNew(num[0]);
break;
}
}
});
}
/**
* 新闻请求
*
* @param num
*/
private void initNew(final int num) {
JSONObject jsonObject = new JSONObject();
RequestQueue requestQueue = Volley.newRequestQueue(getContext());
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, jsonObject, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Gson gson = new Gson();
newBean = gson.fromJson(response.toString(), NewBean.class);
gv_new_home.setAdapter(new BaseAdapter() {
private void initView(View news) {
ivItemNew = (ImageView) news.findViewById(R.id.iv_item_new);
tvTitleItemNew = (TextView) news.findViewById(R.id.tvTitle_item_new);
tvTimeItemNew = (TextView) news.findViewById(R.id.tvTime_item_new);
tvConItmeNew = (TextView) news.findViewById(R.id.tvCon_itme_new);
tvLikeItemNew = (TextView) news.findViewById(R.id.tvLike_item_new);
}
private TextView tvLikeItemNew;
private TextView tvConItmeNew;
private TextView tvTimeItemNew;
private TextView tvTitleItemNew;
private ImageView ivItemNew;
@Override
public int getCount() {
return newBean.getTotal();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = View.inflate(getContext(), R.layout.item_new, null);
initView(convertView);
Glide.with(getContext()).load(AppConfig.ip + newBean.getRows().get(position).getCover()).into(ivItemNew);
tvTitleItemNew.setText(newBean.getRows().get(position).getTitle());
tvConItmeNew.setText(newBean.getRows().get(position).getContent());
tvTimeItemNew.setText("发布时间:" + newBean.getRows().get(position).getPublishDate());
tvLikeItemNew.setText("点赞数:" + newBean.getRows().get(position).getLikeNum());
return convertView;
}
});
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue.add(jsonObjectRequest);
}