Created
April 30, 2014 17:02
-
-
Save cloudshooterhuman/9c1fcec308c9fa8dd4b1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package pro.app.fragments; | |
import java.util.ArrayList; | |
import java.util.LinkedHashMap; | |
import java.util.List; | |
import pro.app.R; | |
import pro.app.adapters.ExpandableAdapter; | |
import pro.app.models.Item; | |
import pro.app.models.Secteur; | |
import pro.app.models.Ville; | |
import pro.app.sqlite.DatabaseHelper; | |
import android.os.Bundle; | |
import android.support.v4.app.Fragment; | |
import android.support.v4.app.FragmentManager; | |
import android.util.Log; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.View.OnClickListener; | |
import android.view.ViewGroup; | |
import android.widget.Button; | |
import android.widget.CompoundButton; | |
import android.widget.CompoundButton.OnCheckedChangeListener; | |
import android.widget.ExpandableListView; | |
import android.widget.Switch; | |
public class RechercheVilleSecteurFragment extends Fragment implements OnCheckedChangeListener, OnClickListener { | |
private Switch mSwitch; | |
// Button Rechercher | |
Button rechercher; | |
private LinkedHashMap<Item,ArrayList<Item>> groupList; | |
private ExpandableListView expandableListView; | |
Boolean uiRechercher = true; | |
String checked="actu"; | |
List<String> ville_ids; | |
List<String> secteur_ids; | |
DatabaseHelper db; | |
Ville[] villes = new Ville[] {new Ville("0","Tout les villes"),new Ville("1","Agadir"),new Ville("2","Casablanca"),new Ville("3","El Jadida"),new Ville("4","Essaouira"), | |
new Ville("5","Fès"),new Ville("6","Ifrane"),new Ville("7","Kénitra"),new Ville("8","Marrakech"), | |
new Ville("9","Meknès"),new Ville("10","Mohammedia"),new Ville("11","Ouarzazate"),new Ville("12","Rabat"), | |
new Ville("13","Salé"),new Ville("14","Tanger"),new Ville("15","Témara"),new Ville("16","Tétouan")}; | |
Secteur[] secteurs = new Secteur[] {new Secteur("99","Tous les secteurs"),new Secteur("100","Beauté & Bien-être"),new Secteur("101","Commerce"),new Secteur("102","Enseignement"),new Secteur("103","Evénementiel"), | |
new Secteur("104","Informatique"),new Secteur("105","Mode et Haute Couture"),new Secteur("106","Restauration"), | |
new Secteur("107","Santé"),new Secteur("108","Sport")}; | |
public RechercheVilleSecteurFragment(){} | |
private void initViews(View view){ | |
initFiltreList(); | |
expandableListView = (ExpandableListView)view.findViewById(R.id.expandableListView); | |
ExpandableAdapter adapter = new ExpandableAdapter(RechercheVilleSecteurFragment.this.getActivity(), expandableListView, groupList); | |
expandableListView.setAdapter(adapter); | |
} | |
private void initFiltreList(){ | |
groupList = new LinkedHashMap<Item,ArrayList<Item>>(); | |
ArrayList<Item> groupsList = fetchGroups(); | |
Log.i("GroupsListSize",String.valueOf(groupsList.size())); | |
//if(groupList.size()>0){ | |
for(Item item:groupsList){ | |
Log.i("Item id",item.id); | |
String[] ids = item.id.split(","); | |
ArrayList<Item> groupMembers =new ArrayList<Item>(); | |
for(int i=0;i<ids.length;i++){ | |
String groupId = ids[i]; | |
Log.i("GroupId",groupId); | |
groupMembers.addAll(fetchGroupMembers(groupId)); | |
} | |
item.name = item.name +" ("+groupMembers.size()+")"; | |
groupList.put(item,groupMembers); | |
} | |
//} | |
} | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
getActivity().findViewById(R.id.bottom_bar).setVisibility(View.GONE); | |
getActivity().findViewById(R.id.bottom_bar_rechercher).setVisibility(View.VISIBLE); | |
getActivity().findViewById(R.id.main_activity_linear_layout).setVisibility(View.GONE); | |
} | |
@Override | |
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { | |
View rootView = inflater.inflate(R.layout.fragment_recherhcer, container, false); | |
initViews(rootView); | |
return inflater.inflate(R.layout.fragment_recherhcer, container, false); | |
} | |
@Override | |
public void onActivityCreated(Bundle savedInstanceState) { | |
super.onActivityCreated(savedInstanceState); | |
this.getActivity().findViewById(R.id.ll_profil_actualite).setVisibility(View.VISIBLE); | |
//SWITCH TOGGLE BUTTON | |
this.mSwitch = (Switch) this.getView().findViewById( | |
R.id.switch_actu_prof); | |
//set the switch to ON | |
mSwitch.setChecked(true); | |
checked="prof"; | |
//attach a listener to check for changes in state | |
mSwitch.setOnCheckedChangeListener(this); | |
//BUTTON RECHERCHER | |
rechercher = (Button)getActivity().findViewById(R.id.tab_rechercher); | |
rechercher.setOnClickListener(this); | |
} | |
@Override | |
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { | |
if(isChecked) | |
{ | |
// actualité | |
checked = "prof"; | |
} | |
else{ | |
//professionels | |
checked = "actu"; | |
} | |
} | |
@Override | |
public void onClick(View arg0) { | |
if(uiRechercher){ | |
this.getActivity().findViewById(R.id.frame_container_rechercher).setVisibility(View.VISIBLE); | |
if(checked.equals("prof")){ | |
// Caché la liste de recherche | |
this.getActivity().findViewById(R.id.ll_profil_actualite).setVisibility(View.GONE); | |
// Affichage de la liste professionels/actualités | |
// update the main content by replacing fragments | |
Fragment fragment = fragment = new ProfessionnelFragment(1,buildRequestParameters()); | |
if (fragment != null) { | |
FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); | |
fragmentManager.beginTransaction() | |
.replace(R.id.frame_container_rechercher, fragment).commit(); | |
} | |
} | |
else{ | |
// Caché la liste de recherche | |
this.getActivity().findViewById(R.id.ll_profil_actualite).setVisibility(View.GONE); | |
// Affichage de la liste professionels/actualités | |
// update the main content by replacing fragments | |
Fragment fragment = fragment = new ActualiteFragment(1,buildRequestParameters()); | |
if (fragment != null) { | |
FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); | |
fragmentManager.beginTransaction() | |
.replace(R.id.frame_container_rechercher, fragment).commit(); | |
} | |
} | |
} | |
else{ | |
// SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions(); | |
// checkedItemPositions.clear(); | |
this.getActivity().findViewById(R.id.ll_profil_actualite).setVisibility(View.VISIBLE); | |
this.getActivity().findViewById(R.id.frame_container_rechercher).setVisibility(View.GONE); | |
} | |
uiRechercher = !uiRechercher; | |
} | |
// Les parametres de la requete | |
String buildRequestParameters(){ | |
StringBuilder stringBuilder = new StringBuilder(); | |
stringBuilder.append(""); | |
if(ville_ids.size()>0){ | |
if(!ville_ids.contains("0")){ | |
stringBuilder.append("?ville="); | |
for(String s : ville_ids){ | |
stringBuilder.append(s); | |
stringBuilder.append(','); | |
} | |
stringBuilder.append("&"); | |
} | |
else{ | |
stringBuilder.append("?"); | |
} | |
} | |
else{ | |
stringBuilder.append("?"); | |
} | |
if(secteur_ids.size()>0){ | |
if(!secteur_ids.contains((db.getVillesCount()+1))){ | |
stringBuilder.append("secteur="); | |
for(String s : secteur_ids){ | |
stringBuilder.append(s); | |
stringBuilder.append(','); | |
} | |
} | |
} | |
return stringBuilder.toString(); | |
} | |
private ArrayList<Item> fetchGroups(){ | |
ArrayList<Item> groupList = new ArrayList<Item>(); | |
groupList.add(new Item("Villes", "1", false)); | |
groupList.add(new Item("Secteurs", "2",false)); | |
return groupList; | |
} | |
private ArrayList<Item> fetchGroupMembers(String groupId){ | |
ArrayList<Item> groupMembers = new ArrayList<Item>(); | |
int i = 0; | |
if(groupId.equals("1")){ | |
for(Ville v : villes) | |
{ | |
groupMembers.add(new Item(v.getVilleName(), v.getId(), false)); | |
i++; | |
} | |
} | |
if(groupId.equals("2")){ | |
for(Secteur s : secteurs) | |
{ | |
groupMembers.add(new Item(s.getSecteurName(), s.getId(), false)); | |
i++; | |
} | |
} | |
return groupMembers; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment