Bonjour,

J'ai un fragment CustomFragment (cf ci dessous) contenant un ViewPager qui permet de swiper sur plusieurs vues (Il s'agit d'un même fragment Fragment2 qui permet de peupler une ListView avec des données externes)

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
29
30
31
32
33
34
35
36
 
public class CustomFragment extends Fragment {
 
	private ViewPager mPager;
	private TitlePageIndicator mIndicator;
 
 
	 @Override
          public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
	 {
               View rootView = inflater.inflate(R.layout.my_fragment, container, false);
 
                mPager = (ViewPager) rootView.findViewById(R.id.pager);
 
 	       mIndicator = (TitlePageIndicator) rootView.findViewById(R.id.indicator);
 
               return rootView;
        }
 
 
 
	 @Override
 	public void onActivityCreated(Bundle savedInstanceState) {
 		super.onActivityCreated(savedInstanceState);
 
	 		mAdapter = new CustomFragmentAdapter(getChildFragmentManager());
 
			mPager.setAdapter(mAdapter);
 
			mIndicator.setFooterIndicatorStyle(IndicatorStyle.Triangle);
 
			mIndicator.setViewPager(mPager);
 
 	}
 
}
Et son CustomFragmentAdapter

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
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
public class CustomFragmentAdapter extends FragmentStatePagerAdapter
{
 
 
	private String[] users = {"X","Y","Z"};
 
 
    /*********************************************/
 
    public CustomFragmentAdapter ( FragmentManager fm) { 
    	super(fm);
    }
 
    /*********************************************/
 
    @Override
    public Fragment getItem(int position) {
 
        return Fragment2.newInstance(users[position]);
    }
 
    /*********************************************/
 
    @Override
    public int getCount() {
        return users.length;
    }
 
 
    /*********************************************/
 
    @Override
    public int getItemPosition(Object object){
        return PagerAdapter.POSITION_NONE;
    }
 
 
    /*********************************************/
 
 
	@Override
    public CharSequence getPageTitle(int position) {
 
		return users[position];
 
    }
 
 
    @Override
    public void destroyItem(View collection, int position, Object view) {
              ((ViewPager) collection).removeView((View) view);
    }
 
}
Et enfin mon Fragment2

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
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
 
 
 
public class Fragment2 extends Fragment
{	
 
       private ListView actualListView;
       private String userPseudo;
       private String TAG = "Fragment2";
       private ArrayList<String> list = new ArrayList<String>();
 
 
      public static Fragment2 newInstance(String user) {
 
		Fragment2 fragment = new Fragment2 ();
 
		Bundle args = new Bundle();	
 
		args.putString("user", user);
 
		fragment.setArguments(args);
 
		return fragment;
	}
 
 
	/******************************************************/
 
	 @Override
       public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
	 {
         View rootView = inflater.inflate(R.layout.fragment2, container, false);
 
         actualListView = (ListView) rootView.findViewById(R.id.list);
 
         }
 
 
 
	 /************************************************/
 
	 @Override
 	public void onActivityCreated(Bundle savedInstanceState) {
 		super.onActivityCreated(savedInstanceState);
 
              Bundle args = getArguments();
 
        if(args != null)
        {
 
        	if	(args.getString("user") != null && args.containsKey("user"))
        	{
        		userPseudo= args.getString("user");
        	}
 
        } 
 
 
       if(adapter == null)
       {          
    	   adapter = new UserAdapter(getActivity(),list);
       }
 
 
      actualListView.setAdapter(adapter);
 
      actualListView.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) 
                        {
                              Log.i("setOnItemClickListener");
 
			}
		});
 
 
 
              populateListView(userPseudo); // Méthode qui met à jour la ListView
 
 	}
 
}
Mon problème : Lorsque je swipe entre chaques vues (exemple de la vue 1 à la vue 2 et que je revient que la vue 1), lorsque je clique sur un item de ma ListView , rien ne se passe la méthode onItemClick n'est pas appelée.

Merci d'avance pour votre aide.