1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
| public class HomeFragment extends Fragment {
private ListView mDrawerList;
private String[] navMenuTitles;
private TypedArray navMenuIcons;
private ArrayList<NavDrawerItem> navDrawerItems;
private NavDrawerListAdapter adapter;
private TextView txt;
EditText search;
public HomeFragment() {}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//construction de la vue
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
//Variable de pub
AdView mAdView = (AdView) rootView.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
TextView txt =(TextView) rootView.findViewById(R.id.settxt);
// recuperation du texte a afficher pour le menu
navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);
// recupertation des icones pour le menu
navMenuIcons = getResources().obtainTypedArray(R.array.nav_drawer_icons);
//recuperation de la list pour le menu
mDrawerList = (ListView) rootView.findViewById(R.id.listPays);
//Création de la list pour afficher dans le menu
navDrawerItems = new ArrayList<NavDrawerItem>();
// Assemblage de l'icon et du titre pour , par la suite, les afficher ensemble dans le menu
// Suisse
navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
// France
navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
// Chine
navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1)));
// etats unis
navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));
// Angleterre
navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1)));
// Reprise des icones
navMenuIcons.recycle();
// adaptation de la list
adapter = new NavDrawerListAdapter(getActivity().getApplicationContext(),navDrawerItems);
mDrawerList.setAdapter(adapter);
return rootView;}
private class SlideMenuClickListener implements
ListView.OnItemClickListener
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long id)
{
displayView(position);
}
}
private void displayView(int position) {
Fragment fragment = null;
switch (position) {
case 0:
txt.setText("Hello je test");
break;
case 1:
txt.setText("Hello dwawwfw test");
break;
case 2:
fragment = new FrenchFragment();
break;
case 3:
fragment = new SwissFragment();
break;
case 4:
fragment = new UKFragment();
break;
case 5:
fragment = new USFragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
} else {
// si le fragment n'existe pas il sera afficher :
Log.e("MainActivity", "Error in creating fragment");
}
search.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
filtrer();
}
});
//On retourne à l'utilisateur la vue
}
public void filtrer() {
// afficher les lettre entrée par l'utilisateur
String name = search.getText().toString();
// afficher seulement les résultats de la recherche
ArrayList<NavDrawerItem> listPaysNew = new ArrayList<NavDrawerItem>();
// si le nom du pays commence par les lettres entrée par l'utilisateur, il sera affiché
for (NavDrawerItem pays : navDrawerItems)
if (pays.getTitle().toLowerCase().toString().startsWith(name)) {
listPaysNew.add(pays);
}
// vider la liste
mDrawerList.setAdapter(null);
if (listPaysNew.size() == 0) {
}
// ajouter la nouvelle liste
mDrawerList.setAdapter(new NavDrawerListAdapter(getActivity().getApplicationContext(), listPaysNew));
}
} |
Partager