package com.konka.music.ui.fragment.singer;
import java.util.ArrayList;
import android.graphics.drawable.Drawable;
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.ListView;
import android.widget.TextView;
import com.konka.music.R;
import com.konka.music.loader.HotSingerLoader;
import com.konka.music.pojo.Singer;
import com.konka.music.util.ApiCompatibleUtil;
import com.konka.music.util.ArrayUtils;
import com.konka.music.util.Assist;
import com.konka.music.util.FragmentManagerUtil;
import com.konka.music.util.ViewUtility;
public class SingerChileFragment extends SingerBaseFragment implements OnClickListener {
private View rootView;
@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;
}
class SingerChileHolder {
ListView singerchile_fragment_listview;
SingerChileAdapter singerChileAdapter;
View singer_type_Holder_man;
View singer_type_Holder_woman;
View singer_type_Holder_group;
View refresh_layout;
}
private SingerChileHolder singerChileHolder;
View headerView ;
@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 = ViewUtility.findViewById(view, R.id.singerchile_fragment_listview_id);
singerChileHolder.refresh_layout = ViewUtility.findViewById(view, R.id.refresh_layout);
ViewUtility.findViewById(singerChileHolder.refresh_layout, R.id.btn_refresh, new OnClickListener() {
@Override
public void onClick(View v) {
restartLoader();
}
});
singerChileHolder.singerchile_fragment_listview.setEmptyView(ViewUtility.findViewById(view, R.id.empty_loading));
headerView = View.inflate(getActivity(), R.layout.singer_type_sex_select_layout, null);
singerChileHolder.singerchile_fragment_listview.addHeaderView(headerView);
singerChileHolder.singerchile_fragment_listview.setOnItemClickListener(this);
headerView.setEnabled(false);
singerChileHolder.singer_type_Holder_man = ViewUtility.findViewById(headerView, R.id.singer_type_man, this);
singerChileHolder.singer_type_Holder_woman = ViewUtility.findViewById(headerView, R.id.singer_type_woman, this);
singerChileHolder.singer_type_Holder_group = ViewUtility.findViewById(headerView, R.id.singer_type_group, this);
initsinger_type_sex(singerChileHolder.singer_type_Holder_man);
initsinger_type_sex(singerChileHolder.singer_type_Holder_woman);
initsinger_type_sex(singerChileHolder.singer_type_Holder_group);
singerChileHolder.singerchile_fragment_listview.setAdapter(singerChileHolder.singerChileAdapter);
rootView.setTag(singerChileHolder);
} else {
singerChileHolder = (SingerChileHolder) rootView.getTag();
}
initLoader();
}
private void initLoader() {
getLoaderManager().initLoader(Assist.SINGERCHILE_LOADER_ID, getArguments(), this);
};
private void restartLoader() {
getLoaderManager().restartLoader(Assist.SINGERCHILE_LOADER_ID, getArguments(), SingerChileFragment.this);
};
private void initsinger_type_sex(View type_Holder) {
View bg = ViewUtility.findViewById(type_Holder, R.id.singer_type_sex_bg);
TextView textview = ViewUtility.findViewById(type_Holder, R.id.singer_type_sex_text);
Drawable start = null;
switch (type_Holder.getId()) {
case R.id.singer_type_man:
textview.setText("男");
start = getResources().getDrawable(R.drawable.singer_type_man_img);
bg.setBackgroundResource(R.drawable.singer_type_man_bg);
break;
case R.id.singer_type_woman:
textview.setText("女");
start = getResources().getDrawable(R.drawable.singer_type_woman_img);
bg.setBackgroundResource(R.drawable.singer_type_woman_bg);
break;
case R.id.singer_type_group:
textview.setText("组合");
start = getResources().getDrawable(R.drawable.singer_type_group_img);
bg.setBackgroundResource(R.drawable.singer_type_group_bg);
break;
}
if (start != null) {
ApiCompatibleUtil.setTextViewCompoundDrawables(textview, start, null, null, null);
}
}
@Override
public Loader<ArrayList<Singer>> onCreateLoader(int arg0, Bundle arg1) {// area
singerChileHolder.refresh_layout.setVisibility(View.GONE);
return new HotSingerLoader(getActivity(), String.format(Assist.HOTSINGER_URL, arg1.getString("area", "cn")));
}
@Override
public void onLoadFinished(Loader<ArrayList<Singer>> arg0, ArrayList<Singer> arg1) {
super.onLoadFinished(arg0, arg1);
if (!ArrayUtils.isEmpty(arg1) && singerChileHolder.singerChileAdapter.getCount() == 0) {
singerChileHolder.singerChileAdapter.addAll(arg1);
} else {
if (singerChileHolder.singerChileAdapter.getCount() == 0) {
singerChileHolder.refresh_layout.setVisibility(View.VISIBLE);
}
}
}
@Override
public void onClick(View v) {
String area = getArguments().getString("area", "cn");
String category = "group";
switch (v.getId()) {
case R.id.singer_type_man:
category = "male";
break;
case R.id.singer_type_woman:
category = "female";
break;
case R.id.singer_type_group:
category = "group";
break;
}
FragmentManagerUtil.swichFragment(getActivity().getSupportFragmentManager(), Singer_Sex_Fragment.newInstance(area, category));
}
@Override
protected ArrayList<Singer> getSingers() {
return singerChileHolder.singerChileAdapter.getAll();
}
@Override
public void onDestroyView() {
super.onDestroyView();
getLoaderManager().destroyLoader(Assist.SINGERCHILE_LOADER_ID);
}
@Override
protected int getHeaderViewCount() {
return singerChileHolder.singerchile_fragment_listview.getHeaderViewsCount();
}
}