package com.konka.music.ui.fragment.mysonglist; import java.util.ArrayList; import android.os.Bundle; import android.support.v4.content.Loader; import android.text.TextUtils; 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.adapter.ArrayAdapter; import com.konka.music.loader.MyClassifyListLoader; import com.konka.music.pojo.MyClassifyList; import com.konka.music.pojo.MyClassifyName; import com.konka.music.ui.fragment.dialogfragment.AddClassifyDialogFragment; import com.konka.music.ui.fragment.dialogfragment.AddClassifyDialogFragment.PositiveButtonOnClickListener; import com.konka.music.util.ArrayUtils; import com.konka.music.util.Assist; import com.konka.music.util.ToastUtil; import com.konka.music.util.ViewUtility; import com.konka.music.wedget.MusicApplication; import com.kubeiwu.baseclass.loader.BaseLoaderCallbacksFragment; public class MyClassifyList_Fragment extends BaseLoaderCallbacksFragment<ArrayList<MyClassifyList>> implements OnClickListener, PositiveButtonOnClickListener { private View rootView; private TextView count_text_view; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (rootView == null) { rootView = inflater.inflate(R.layout.mysonglist_fragment_layout, container, false); } else { ViewGroup group = (ViewGroup) rootView.getParent(); if (group != null) { group.removeView(group); } } return rootView; } private ListView mysonglist_fragment_listview; private ClassifyListAdapter classifyListAdapter; @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); mysonglist_fragment_listview = ViewUtility.findViewById(view, R.id.mysonglist_fragment_listview); count_text_view = ViewUtility.findViewById(view, R.id.count_text_view); ViewUtility.findViewById(view, R.id.add_playlist_item, this); classifyListAdapter = new ClassifyListAdapter(); mysonglist_fragment_listview.setAdapter(classifyListAdapter); getLoaderManager().initLoader(Assist.CLASSIFYLIST_LOADER_ID, getArguments(), this); } @Override public Loader<ArrayList<MyClassifyList>> onCreateLoader(int arg0, Bundle arg1) { return new MyClassifyListLoader(getActivity()); } @Override public void onLoadFinished(Loader<ArrayList<MyClassifyList>> arg0, ArrayList<MyClassifyList> arg1) { super.onLoadFinished(arg0, arg1); if (!ArrayUtils.isEmpty(arg1)) { classifyListAdapter.setmItems(arg1); count_text_view.setText(getString(R.string.classify_count, arg1.size())); } else { // 没有数据 } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.add_playlist_item: AddClassifyDialogFragment.newInstance().setPositiveButtonOnClickListener(this).show(getChildFragmentManager(), ""); break; } } class ClassifyListAdapter extends ArrayAdapter<MyClassifyList> { @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null || convertView.getTag() == null) { convertView = LayoutInflater.from(getActivity()).inflate(R.layout.music_zone_list_child_item, parent, false); viewHolder = new ViewHolder(); viewHolder.playlist_title = ViewUtility.findViewById(convertView, R.id.playlist_title); viewHolder.playlist_song_number = ViewUtility.findViewById(convertView, R.id.playlist_song_number); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } MyClassifyList myClassifyList = getItem(position); viewHolder.playlist_title.setText(myClassifyList.getMySongListName().getClassify_name()); viewHolder.playlist_song_number.setText(getString(R.string.numofsongs, myClassifyList.getmMusicInfo().size())); // viewHolder.playlist_song_number.setText(""+myClassifyList.getmMusicInfo().size()); return convertView; } class ViewHolder { TextView playlist_title; TextView playlist_song_number; } } @Override public void positiveOnClick(String classifyname) { if (!TextUtils.isEmpty(classifyname)) { MyClassifyName myClassifyName = new MyClassifyName(classifyname); ArrayList<MyClassifyName> lists = MusicApplication.mKCommonToolDb.findAllByWhere(MyClassifyName.class, "classify_name = '" + classifyname + "'"); if (!ArrayUtils.isEmpty(lists)) { ToastUtil.showToast(getActivity(), "分类名称已经存在"); } else { MusicApplication.mKCommonToolDb.insert(myClassifyName); getLoaderManager().restartLoader(Assist.CLASSIFYLIST_LOADER_ID, getArguments(), this); } } else { ToastUtil.showToast(getActivity(), "请输入有效的名称"); } } }