我再次谈论汽车故事。在汽车适配器我想通过所有的价值,就像我现在做的那样。从每个领域我想取价值。
在getItem函数中,我将向case 0传递car对象的索引0的字段/值(名称和描述)。对于案例1,我想传递索引为1的字段/值。
CarAdapter.java
public void onEvent(CarResponse reponse) throws JSONException {
data = reponse.getData();
car = data.getJSONArray("carList");
for(int i = 0 ; i < car.length() ; i++){
JSONObject firstCar = car.getJSONObject(i);
CAR_NAAM = firstCar.getString("name");
CAR_DESCRIPTION = firstCar.getString("description");
}
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
coffeeName = CAR_NAAM;
description = CAR_DESCRIPTION;
case 1:
carName = CAR_NAAM;
description = CAR_DESCRIPTION;
}
return CarFragment.newInstance(carName, description);
}
你们中的任何人都能帮助我走正确的道路吗?如果问题不明确,我可以详细说明。
P.S:我知道你可以通过加载变量并手动逐个获取值来实现这一点。因此,我的计划会变得沉重。这是我认为最糟糕的解决方案。
答案 0 :(得分:0)
使用JSONObject
从JSONArray
获取position
。您可以使用以下代码。
@Override
public Fragment getItem(int position) {
JSONObject objCar = car.get(position);
String carName = objCar.getString("name");
String description = objCar.getString("description");
return CarFragment.newInstance(carName, description);
}