package com.konka.music.ui.fragment.singer;
import java.util.ArrayList;
import android.os.Bundle;
import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ListView;
import com.konka.music.R;
import com.konka.music.loader.HotSingerLoader;
import com.konka.music.pojo.Singer;
import com.konka.music.util.ArrayUtils;
import com.konka.music.util.Assist;
import com.konka.music.util.ViewUtility;
public class Singer_Sex_Fragment extends SingerBaseFragment implements OnClickListener {
private View rootView;
public static final String AREAKEY = "areaKey";
public static final String CATEGORYKEY = "categoryKey";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (rootView == null) {
rootView = inflater.inflate(R.layout.singerchilefragment_layout, container, false);
} else {
ViewGroup viewGroup = (ViewGroup) rootView.getParent();
if (viewGroup != null) {
viewGroup.removeView(rootView);
}
}
return rootView;
}
public static Singer_Sex_Fragment newInstance(String area, String category) {
Singer_Sex_Fragment singer_Sex_Fragment = new Singer_Sex_Fragment();
Bundle bundle = new Bundle();
bundle.putString(AREAKEY, area);
bundle.putString(CATEGORYKEY, category);
singer_Sex_Fragment.setArguments(bundle);
return singer_Sex_Fragment;
}
class SingerChileHolder {
ListView singerchile_fragment_listview_id;
SingerChileAdapter singerChileAdapter;
View empty_loading;
View refresh_layout;
Button btn_refresh;
}
private SingerChileHolder singerChileHolder;
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (rootView.getTag() == null) {
singerChileHolder = new SingerChileHolder();
singerChileHolder.singerChileAdapter = new SingerChileAdapter();
singerChileHolder.singerchile_fragment_listview_id = ViewUtility.findViewById(view, R.id.singerchile_fragment_listview_id);
singerChileHolder.empty_loading = ViewUtility.findViewById(view, R.id.empty_loading);
singerChileHolder.refresh_layout = ViewUtility.findViewById(view, R.id.refresh_layout);
singerChileHolder.btn_refresh = ViewUtility.findViewById(view, R.id.btn_refresh, this);
singerChileHolder.singerchile_fragment_listview_id.setOnItemClickListener(this);
singerChileHolder.singerchile_fragment_listview_id.setEmptyView(singerChileHolder.empty_loading);
singerChileHolder.singerchile_fragment_listview_id.setAdapter(singerChileHolder.singerChileAdapter);
rootView.setTag(singerChileHolder);
} else {
singerChileHolder = (SingerChileHolder) rootView.getTag();
}
getLoaderManager().initLoader(Assist.SINGERSEX_LOADER_ID, getArguments(), this);
}
@Override
public Loader<ArrayList<Singer>> onCreateLoader(int arg0, Bundle arg1) {
singerChileHolder.refresh_layout.setVisibility(View.GONE);
String area = arg1.getString(AREAKEY, "cn");
String category = arg1.getString(CATEGORYKEY, "male");
return new HotSingerLoader(getActivity(), String.format(Assist.SINGER_URL, area, category));
}
@Override
public void onLoadFinished(Loader<ArrayList<Singer>> arg0, ArrayList<Singer> arg1) {
super.onLoadFinished(arg0, arg1);
if (!ArrayUtils.isEmpty(arg1)) {
singerChileHolder.singerChileAdapter.addAll(arg1);
} else {
singerChileHolder.refresh_layout.setVisibility(View.VISIBLE);
}
}
@Override
protected ArrayList<Singer> getSingers() {
return singerChileHolder.singerChileAdapter.getAll();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_refresh:
getLoaderManager().restartLoader(Assist.SINGERSEX_LOADER_ID, getArguments(), this);
break;
}
}
@Override
public void onDestroyView() {
super.onDestroyView();
getLoaderManager().destroyLoader(Assist.SINGERSEX_LOADER_ID);
}
@Override
protected int getHeaderViewCount() {
return singerChileHolder.singerchile_fragment_listview_id.getHeaderViewsCount();
}
}