上一篇是用一个接口实现两级列表的,由于数据较多原因,假如一次性返回几百条数据的话影响性能,所以后台将另一个功能的分为两个接口实现。请求到父级数据后,点击父级数据再去请求子级数据,分为两个接口实现二级列表。
界面布局与上一篇文章的一样,就不再贴出来了,需要可以去参考上一级,这里只做代
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.databinding.DataBindingUtil;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import org.apache.http.HttpException;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
/**
*
*
* Created by admin on 2019/4/12
*/
public class NewCircuitActivity extends BaseActivity {
private CartwotypeLayoutBinding newcircuit;
private CarCircuitAdapter circuitAdapter;
private String carid, type, is_vip, title_name;
private String circuit_id;
private String zx_url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
newcircuit = DataBindingUtil.setContentView(this, R.layout.cartwotype_layout);
newcircuit.tvManual.setOnClickListener(this);
newcircuit.tvMajor.setOnClickListener(this);
carid = getIntent().getExtras().getString("pinpai");
type = getIntent().getExtras().getString("type");
is_vip = getIntent().getExtras().getString("is_vip");
title_name = getIntent().getExtras().getString("title_name");
initEven();
if (carid != null) {
setTitle(title_name);
postrequest();
initCircuitData();
initBrand();
}
circuitAdapter = new CarCircuitAdapter(this);
newcircuit.reCarType.setAdapter(circuitAdapter);
//点击父级请求子级数据
newcircuit.reCarType.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
circuit_id = circuitAdapter.getGroup(groupPosition).getId();
if (circuit_id != null && circuitAdapter.getGroup(groupPosition).getSon().size() == 0) {
CircuitNextData(groupPosition);
}
return false;
}
});
//子级点击
newcircuit.reCarType.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
CartypeResponse.DataBean.ListBean.SonBean item = circuitAdapter.getChild(groupPosition, childPosition);
if (item.getType().equals("1")) {
PermissionUtils.getEngine().persissionWith(NewCircuitActivity.this, "3", type, item.getIdflag(), item.getIs_check_sj(), item.getIs_check_sf(), item.getIs_check_zy(), item.getIs_check_vip(), "0");
} else {
PermissionUtils.getEngine().persissionWith(NewCircuitActivity.this, "3", type, item.getIdflag(), item.getIs_check_sj(), item.getIs_check_sf(), item.getIs_check_zy(), item.getIs_check_vip(), "1");
}
return false;