我正在尝试为viewpager创建一个适配器并在适配器中传递一些数据但我的字段返回空值。
CarFragment.java
private static final String CAR_NAME = "car_name";
private static final String CAR_DESCRIPTION = "car_description";
private String mCarName;
private String mDescription;
public static CarFragment newInstance(String carName, String description){
CarFragment fragment = new CarFragment();
Bundle args = new Bundle();
args.putString(CAR_NAME, carName);
args.putString(CAR_DESCRIPTION, description);
fragment.setArguments(args);
return fragment;
}
public CarFragment(){
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle args = getArguments();
if(args != null){
mCarName = args.getString(CAR_NAME);
mDescription = args.getString(CAR_DESCRIPTION);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.car_tour, container, false);
TextView carField = (TextView)v.findViewById(R.id.car_name);
TextView carDescription = (TextView)v.findViewById(R.id.car_description);
carField.setText("Naam : " + mCarName);
carDescription.setText("Beschcrijving : " + mDescription);
return v;
}
我认为错误来自我的适配器。这是获取数据的地方。
我有两个viewpager的案例。有两页。在第一个我想显示对象(0)和另一个对象(1)。 viewpager正在运行,应用程序不会崩溃。但是,似乎我的数据流不正确。在carfragment中它应该显示我从JSONobject中获取的数据。
JSONObject data;
JSONArray car;
public String carName ;
public String description ;
public String CAR_NAAM;
public String CAR_DESCRIPTION;
public CarAdapter(FragmentManager fm) {
super(fm);
}
public void onEvent(CarResponse reponse) throws JSONException {
data = reponse.getData();
car = data.getJSONArray("carList");
JSONObject firstCar = car.getJSONObject(0);
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);
}
我希望问题很清楚,你可以提供帮助。如果需要更多细节,请随时询问。