Salut,

J'ai un petit problème dans mon application. J'utilise un ViewPager pour pour "switcher" facilement entre deux pages. Chaque page est composé de layouts sur lesquels je veux placer un onclicklistener.

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
// Création de la liste de Fragments que fera défiler le PagerAdapter
		List fragments = new Vector();
 
		// Ajout des Fragments dans la liste
		fragments.add(Fragment.instantiate(this,Proprietes1.class.getName()));
		fragments.add(Fragment.instantiate(this,Proprietes2.class.getName()));
 
		// Création de l'adapter qui s'occupera de l'affichage de la liste de
		// Fragments
		mPagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments);
 
		ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
		// Affectation de l'adapter au ViewPager
		pager.setAdapter(this.mPagerAdapter);
 
		pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
	        @Override
	        public void onPageSelected(int position) {
	            switch(position){
	            case 0:
	            	technologie=(LinearLayout)findViewById(R.id.technologie);
	            	technologie.setOnClickListener(this);
	            	break;
	            case 1:
	            	break;
	            }
	        }
	    });
Donc si je fais ça , l'écoute du clic sur mon LinearLayout dans la page 1 n'est pas actif quand j'arrive sur mon activité. Elle l'est seulement quand je vais sur la page 2 et que je reviens sur la page 1 ce qui est logique puisque je déclare l'écoute dans l'évenement onpagechange.

Mon problème , c'est que si je déclare ces deux lignes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
technologie=(LinearLayout)findViewById(R.id.technologie);
technologie.setOnClickListener(this);
... en dehors de l'évenement onPageChange , j'ai une erreur de type NullPointerException sur la deuxième ligne et mon application plante dés que j'arrive sur l'activité concernée.

Vous pouvez m'aider ?