Alors que ce n'est pas une réponse directe à la façon de faire le onClick est déclenchée, elle pourrait très bien être une réponse utile pour le problème lié à la capture des événements de clic dans ViewPager.
Il suffit d'ajouter l'attribut onClick de la mise en page du fichier xml pour la pagination de l'élément et ajouter une méthode dans votre activité.
Exemple de code:
PagerAdapter:
class SamplePagerAdapter extends PagerAdapter {
@Override
public Object instantiateItem(ViewGroup container, int position) {
// Inflate a new layout from our resources
View view = getActivity().getLayoutInflater().inflate(R.layout.pager_item,
container, false);
// Add the newly created View to the ViewPager
container.addView(view);
// ...
mise en page pager_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
// usual attributes
>
<ImageButton
// usual attributes
android:onClick="handleAction"
/>
</LinearLayout>
MainActivity:
public class MainActivity extends Activity {
/*
...
*/
public void handleAction(View view) {
// do your stuff
}
}