У меня есть макет, содержимое которого представлено в виде нескольких обзоров. Я хочу разделить список на несколько утилитарных представлений на основе идентификатора с именем kode_klasifikasi
. Например, kode_klasifikasi
из Aset Lancar равно 11, Aset Tetap равно 12, у каждого из них есть свой собственный обзор переработчика. Проблема в том, что я не знаю, как определить kode_klasifikasi
, чтобы он мог отображаться в собственном представлении реселлера с помощью Retrofit, тогда как в ответе JSON отсутствует параметр kode_klasifikasi
.
Пожалуйста, помогите мне.
Вот ответ JSON:
{
"status": "success",
"neraca_awal": [
{
"kode_klasifikasi": 11,
"kode_akun": 1110,
"tanggal": "2019-09-19",
"jumlah": "50000",
"id_neraca_awal": 4
},
{
"kode_klasifikasi": 11,
"kode_akun": 1111,
"tanggal": "2019-09-23",
"jumlah": "10000",
"id_neraca_awal": 2
},
{
"kode_klasifikasi": 12,
"kode_akun": 1210,
"tanggal": "2019-09-10",
"jumlah": "60000",
"id_neraca_awal": 6
}
],
"total_kredit": 0,
"total_debit": 120000
}
Это модели:
public class NeracaAwalResponse {
@SerializedName("status")
@Expose
private String status;
@SerializedName("neraca_awal")
@Expose
private ArrayList<NeracaAwal> neracaAwals = null;
@SerializedName("total_kredit")
@Expose
private int total_kredit;
@SerializedName("total_debit")
@Expose
private int total_debit;
public NeracaAwalResponse(String status, ArrayList<NeracaAwal> neracaAwals, int total_kredit, int total_debit) {
this.status = status;
this.neracaAwals = neracaAwals;
this.total_kredit = total_kredit;
this.total_debit = total_debit;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public ArrayList<NeracaAwal> getNeracaAwals() {
return neracaAwals;
}
public void setNeracaAwals(ArrayList<NeracaAwal> neracaAwals) {
this.neracaAwals = neracaAwals;
}
public int getTotal_kredit() {
return total_kredit;
}
public void setTotal_kredit(int total_kredit) {
this.total_kredit = total_kredit;
}
public int getTotal_debit() {
return total_debit;
}
public void setTotal_debit(int total_debit) {
this.total_debit = total_debit;
}
}
public class NeracaAwal {
@SerializedName("kode_klasifikasi")
@Expose
private int kode_klasifikasi;
@SerializedName("kode_akun")
@Expose
private int kode_akun;
@SerializedName("tanggal")
@Expose
private String tanggal;
@SerializedName("jumlah")
@Expose
private String jumlah;
@SerializedName("id_neraca_awal")
@Expose
private int id_neraca_awal;
public NeracaAwal(int kode_klasifikasi, int kode_akun, String tanggal, String jumlah, int id_neraca_awal) {
this.kode_klasifikasi = kode_klasifikasi;
this.kode_akun = kode_akun;
this.tanggal = tanggal;
this.jumlah = jumlah;
this.id_neraca_awal = id_neraca_awal;
}
public int getKode_klasifikasi() {
return kode_klasifikasi;
}
public void setKode_klasifikasi(int kode_klasifikasi) {
this.kode_klasifikasi = kode_klasifikasi;
}
public int getKode_akun() {
return kode_akun;
}
public void setKode_akun(int kode_akun) {
this.kode_akun = kode_akun;
}
public String getTanggal() {
return tanggal;
}
public void setTanggal(String tanggal) {
this.tanggal = tanggal;
}
public String getJumlah() {
return jumlah;
}
public void setJumlah(String jumlah) {
this.jumlah = jumlah;
}
public int getId_neraca_awal() {
return id_neraca_awal;
}
public void setId_neraca_awal(int id_neraca_awal) {
this.id_neraca_awal = id_neraca_awal;
}
}
Этомоя активность:
public class NeracaAwalActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
RecyclerView rv_aset_tetap, rv_aset_lancar;
Neraca_AsetTetapAdapter adapter_asetTetap;
Neraca_AsetLancarAdapter adapter_asetLancar;
ArrayList<NeracaAwal> neracaAwals;
protected void onCreate(Bundle savedInstanceState) {
....
rv_aset_lancar = findViewById(R.id.rv_aset_lancar);
adapter_asetLancar = new Neraca_AsetLancarAdapter(this, neracaAwals);
rv_aset_tetap = findViewById(R.id.rv_aset_tetap);
adapter_asetTetap= new Neraca_AsetTetapAdapter(this, neracaAwals);
getNeracaAwal();
}
public void getNeracaAwal(){
tahun = Integer.parseInt(tv_years.getText().toString());
Call<NeracaAwalResponse> call = RetrofitClient
.getInstance()
.getApi()
.neraca_awal(token, accept, bulan, tahun);
call.enqueue(new Callback<NeracaAwalResponse>() {
@Override
public void onResponse(Call<NeracaAwalResponse> call, Response<NeracaAwalResponse> response) {
pDialog.dismissWithAnimation();
NeracaAwalResponse neracaAwalResponse = response.body();
if (response.isSuccessful()){
if (neracaAwalResponse.getStatus().equals("success")){
//what should I write here to define the kode_klasifikasi?
}
}else {
pDialog.dismissWithAnimation();
Toast.makeText(NeracaAwalActivity.this, "Gagal mengambil data neraca awal", Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call<NeracaAwalResponse> call, Throwable t) {
pDialog.dismissWithAnimation();
Toast.makeText(NeracaAwalActivity.this, "Kesalahan terjadi, coba beberapa saat lagi.", Toast.LENGTH_SHORT).show();
}
});
}
}