package com.liuguilin.lovewallpaper.fragment;
/*
* 项目名: LoveWallpaper
* 包名: com.liuguilin.lovewallpaper.fragment
* 文件名: CategoryFragment
* 创建者: LGL
* 创建时间: 2017/1/10 9:48
* 描述: 分类
*/
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import com.liuguilin.lovewallpaper.R;
import com.liuguilin.lovewallpaper.activity.CategoryActivity;
import com.liuguilin.lovewallpaper.adapter.CategoryListAdapter;
import com.liuguilin.lovewallpaper.imp.ApiImp;
import com.liuguilin.lovewallpaper.model.CategoryModel;
import com.liuguilin.lovewallpaper.model.WallpaperApiModel;
import com.liuguilin.lovewallpaper.utils.L;
import java.util.ArrayList;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class CategoryFragment extends Fragment {
private ApiImp apiImp;
private ListView mListView;
private CategoryListAdapter mCategoryListAdapter;
private List<CategoryModel> mList = new ArrayList<>();
private List<String> mListUrl = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_category, container, false);
initView(view);
return view;
}
private void initView(View view) {
mListView = (ListView) view.findViewById(R.id.mListView);
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(getActivity(), CategoryActivity.class);
intent.putExtra("name",mList.get(i).getName());
intent.putExtra("url",mList.get(i).getUrl());
startActivity(intent);
}
});
Retrofit retrofit = new Retrofit.Builder().baseUrl("http://open.lovebizhi.com/")
.addConverterFactory(GsonConverterFactory.create()).build();
apiImp = retrofit.create(ApiImp.class);
Call<WallpaperApiModel> call = apiImp.getWallpaperApi();
//请求数据
call.enqueue(new Callback<WallpaperApiModel>() {
@Override
public void onResponse(Call<WallpaperApiModel> call, Response<WallpaperApiModel> response) {
if (response.isSuccessful()) {
parsingJson(response.body().getCategory());
}
}
@Override
public void onFailure(Call<WallpaperApiModel> call, Throwable t) {
L.i(t.toString());
}
});
}
//解析
private void parsingJson(List<WallpaperApiModel.CategoryBean> category) {
for (int i = 0; i < category.size(); i++) {
CategoryModel model = new CategoryModel();
model.setName(category.get(i).getName());
model.setCover(category.get(i).getCover());
model.setUrl(category.get(i).getUrl());
mList.add(model);
}
mCategoryListAdapter = new CategoryListAdapter(getActivity(), mList);
mListView.setAdapter(mCategoryListAdapter);
}
}