Java 在tablayout中解析和显示JSON数组列表
上面是我的json数组数据, 我想在以下三个不同的选项卡中显示这些数据:Java 在tablayout中解析和显示JSON数组列表,java,android,json,Java,Android,Json,上面是我的json数组数据, 我想在以下三个不同的选项卡中显示这些数据: 完成 颠倒 取消 取决于CT_状态_代码 例如:如果我的CT_STATUS_CODE:success,我想显示整个数组列表,其中的状态代码与“已完成”选项卡中的状态代码相同,同样反转,也已取消。为此,您必须按如下所示创建模型类 [ { "FK_CT_TRXN_UNIQUE_ID":"20190571807151270001", "FK_CT_LEDGERACCOUNT_ID":"612
例如:如果我的CT_STATUS_CODE:success,我想显示整个数组列表,其中的状态代码与“已完成”选项卡中的状态代码相同,同样反转,也已取消。为此,您必须按如下所示创建模型类
[
{
"FK_CT_TRXN_UNIQUE_ID":"20190571807151270001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"8639062942",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"10.00",
"CT_DT_PROCESSED":"Feb 26 2019 6:07PM",
"FK_CT_STATUS":"ABRS3768240",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768240",
"namesList":"mohan",
"seatNumbersList":"R10"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190571753226370001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"8639062942",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"20.00",
"CT_DT_PROCESSED":"Feb 26 2019 5:53PM",
"FK_CT_STATUS":"ABRS3768239",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768239",
"namesList":"mohan,anu",
"seatNumbersList":"R2,R1"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190571751518700001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"9908288955",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"20.00",
"CT_DT_PROCESSED":"Feb 26 2019 5:51PM",
"FK_CT_STATUS":"ABRS3768238",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768238",
"namesList":"mohan,anurag",
"seatNumbersList":"R6,R8"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190571213557770001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"9908288955",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"700.00",
"CT_DT_PROCESSED":"Feb 26 2019 12:13PM",
"FK_CT_STATUS":"ABRS3768214",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768214",
"namesList":"mohan",
"seatNumbersList":"R2"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190571156507900001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"9908288955",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"800.00",
"CT_DT_PROCESSED":"Feb 26 2019 11:56AM",
"FK_CT_STATUS":"ABRS3768211",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768211",
"namesList":"thanks",
"seatNumbersList":"6"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190571153385700001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"8639062942",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"2400.00",
"CT_DT_PROCESSED":"Feb 26 2019 11:53AM",
"FK_CT_STATUS":"ABRS3768210",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768210",
"namesList":"mmmm,gxbndd",
"seatNumbersList":"2,1"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190571136385970001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"8639062942",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"1600.00",
"CT_DT_PROCESSED":"Feb 26 2019 11:36AM",
"FK_CT_STATUS":"ABRS3768208",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768208",
"namesList":"mohan,mohan",
"seatNumbersList":"11,12"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190571049465600001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"9908288955",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"2000.00",
"CT_DT_PROCESSED":"Feb 26 2019 10:49AM",
"FK_CT_STATUS":"ABRS3768205",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768205",
"namesList":"gshs,gshhsh",
"seatNumbersList":"6,10"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190571034307000001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"8566655625",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"1000.00",
"CT_DT_PROCESSED":"Feb 26 2019 10:34AM",
"FK_CT_STATUS":"ABRS3768203",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768203",
"namesList":"fgh",
"seatNumbersList":"2"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190570939356770001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"9699270484",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"30.00",
"CT_DT_PROCESSED":"Feb 26 2019 9:39AM",
"FK_CT_STATUS":"ABRS3768202",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768202",
"namesList":"mohan,anurag,hjjjj",
"seatNumbersList":"R2,R1,R4"
},
{
"FK_CT_TRXN_UNIQUE_ID":"20190561800266700001",
"FK_CT_LEDGERACCOUNT_ID":"6124",
"CT_MOBILE_NUMBER":"9908288955",
"FK_CT_ENTITY_ID":"81",
"CT_AMOUNT":"10.00",
"CT_DT_PROCESSED":"Feb 25 2019 6:00PM",
"FK_CT_STATUS":"ABRS3768201",
"CT_VENDOR_RESPONSE":"",
"CT_STATUS_CODE":"success",
"CT_ORDER_ID":"ABRS3768201",
"namesList":"yh",
"seatNumbersList":"R5"
}
]
现在,您必须根据MainActivity.java中的状态创建3个不同的ArrayList
public class Data {
private String FK_CT_TRXN_UNIQUE_ID, FK_CT_LEDGERACCOUNT_ID, CT_MOBILE_NUMBER, FK_CT_ENTITY_ID, CT_AMOUNT, CT_DT_PROCESSED,
FK_CT_STATUS, CT_VENDOR_RESPONSE, CT_STATUS_CODE, CT_ORDER_ID, namesList, seatNumbersList;
public Data(String FK_CT_TRXN_UNIQUE_ID, String FK_CT_LEDGERACCOUNT_ID, String CT_MOBILE_NUMBER, String FK_CT_ENTITY_ID,
String CT_AMOUNT, String CT_DT_PROCESSED, String FK_CT_STATUS, String CT_VENDOR_RESPONSE, String CT_STATUS_CODE,
String CT_ORDER_ID, String namesList, String seatNumbersList) {
this.FK_CT_TRXN_UNIQUE_ID = FK_CT_TRXN_UNIQUE_ID;
this.FK_CT_LEDGERACCOUNT_ID = FK_CT_LEDGERACCOUNT_ID;
this.CT_MOBILE_NUMBER = CT_MOBILE_NUMBER;
this.FK_CT_ENTITY_ID = FK_CT_ENTITY_ID;
this.CT_AMOUNT = CT_AMOUNT;
this.CT_DT_PROCESSED = CT_DT_PROCESSED;
this.FK_CT_STATUS = FK_CT_STATUS;
this.CT_VENDOR_RESPONSE = CT_VENDOR_RESPONSE;
this.CT_STATUS_CODE = CT_STATUS_CODE;
this.CT_ORDER_ID = CT_ORDER_ID;
this.namesList = namesList;
this.seatNumbersList = seatNumbersList;
}
public String getFK_CT_TRXN_UNIQUE_ID() {
return FK_CT_TRXN_UNIQUE_ID;
}
public void setFK_CT_TRXN_UNIQUE_ID(String FK_CT_TRXN_UNIQUE_ID) {
this.FK_CT_TRXN_UNIQUE_ID = FK_CT_TRXN_UNIQUE_ID;
}
public String getFK_CT_LEDGERACCOUNT_ID() {
return FK_CT_LEDGERACCOUNT_ID;
}
public void setFK_CT_LEDGERACCOUNT_ID(String FK_CT_LEDGERACCOUNT_ID) {
this.FK_CT_LEDGERACCOUNT_ID = FK_CT_LEDGERACCOUNT_ID;
}
public String getCT_MOBILE_NUMBER() {
return CT_MOBILE_NUMBER;
}
public void setCT_MOBILE_NUMBER(String CT_MOBILE_NUMBER) {
this.CT_MOBILE_NUMBER = CT_MOBILE_NUMBER;
}
public String getFK_CT_ENTITY_ID() {
return FK_CT_ENTITY_ID;
}
public void setFK_CT_ENTITY_ID(String FK_CT_ENTITY_ID) {
this.FK_CT_ENTITY_ID = FK_CT_ENTITY_ID;
}
public String getCT_AMOUNT() {
return CT_AMOUNT;
}
public void setCT_AMOUNT(String CT_AMOUNT) {
this.CT_AMOUNT = CT_AMOUNT;
}
public String getCT_DT_PROCESSED() {
return CT_DT_PROCESSED;
}
public void setCT_DT_PROCESSED(String CT_DT_PROCESSED) {
this.CT_DT_PROCESSED = CT_DT_PROCESSED;
}
public String getFK_CT_STATUS() {
return FK_CT_STATUS;
}
public void setFK_CT_STATUS(String FK_CT_STATUS) {
this.FK_CT_STATUS = FK_CT_STATUS;
}
public String getCT_VENDOR_RESPONSE() {
return CT_VENDOR_RESPONSE;
}
public void setCT_VENDOR_RESPONSE(String CT_VENDOR_RESPONSE) {
this.CT_VENDOR_RESPONSE = CT_VENDOR_RESPONSE;
}
public String getCT_STATUS_CODE() {
return CT_STATUS_CODE;
}
public void setCT_STATUS_CODE(String CT_STATUS_CODE) {
this.CT_STATUS_CODE = CT_STATUS_CODE;
}
public String getCT_ORDER_ID() {
return CT_ORDER_ID;
}
public void setCT_ORDER_ID(String CT_ORDER_ID) {
this.CT_ORDER_ID = CT_ORDER_ID;
}
public String getNamesList() {
return namesList;
}
public void setNamesList(String namesList) {
this.namesList = namesList;
}
public String getSeatNumbersList() {
return seatNumbersList;
}
public void setSeatNumbersList(String seatNumbersList) {
this.seatNumbersList = seatNumbersList;
}
}
ArrayList completedTask=new ArrayList();
ArrayList reversedTask=新建ArrayList();
ArrayList CanceledTask=新建ArrayList();
解析此JSON时,请使用以下条件
ArrayList<Data> completedTask =new ArrayList<>();
ArrayList<Data> reversedTask =new ArrayList<>();
ArrayList<Data> cancelledTask =new ArrayList<>();
if(CT\u状态\u代码等信号情况(“成功”)){
//将数据添加到
ArrayList completedTask=新建ArrayList();
}
if(CT\U状态\U代码等信号情况(“已取消”)){
//将数据添加到
ArrayList CanceledTask=新建ArrayList();
}
if(CT\U状态\U代码等信号情况(“反向”)){
//将数据添加到
ArrayList reversedTask=新建ArrayList();
}
现在将相应的arrylist传递给相应的片段,并将数据设置为listview
希望您理解。通过jsonconverter获取json数据作为对象列表,然后 您必须在选项卡中筛选列表,然后将筛选后的列表传递给相应选项卡的适配器以显示 您可以使用下面的代码筛选列表
if (CT_STATUS_CODE.equalsIgnoreCase("success")) {
// add data to
ArrayList<Data> completedTask = new ArrayList<>();
}
if (CT_STATUS_CODE.equalsIgnoreCase("cancelled")) {
// add data to
ArrayList<Data> cancelledTask = new ArrayList<>();
}
if (CT_STATUS_CODE.equalsIgnoreCase("reversed")) {
// add data to
ArrayList<Data> reversedTask = new ArrayList<>();
}
ArrayList filteredList=list.stream().filter(新谓词(){
@凌驾
公共布尔测试(YourObject YourObject){
//用户成功和您在每个选项卡中使用的其他关键字
返回yourObject.ct_Status_code.contains(“成功”);
}
}).collect(Collectors.toList());
从活动中获取数据并将数据发送到片段。您到底尝试了什么?您卡在哪里了?实际上,我会在回收器视图和卡视图适配器中显示整个数据,但要求是为整个数据实现选项卡布局。@Bhanukaushik请不要编辑您问题中的内容。
ArrayList<YourObject> filteredList = list.stream().filter(new Predicate<YourObject>() {
@Override
public boolean test(YourObject yourObject) {
//user success and other keyword you are using in each respective tab
return yourObject.ct_Status_code.contains("success");
}
}).collect(Collectors.toList());