I am trying to use the OnItemClickListener
method in a ListView
, but it is not called because the ViewPager
intercepts touch events.
I tried
mPager.requestDisallowInterceptTouchEvent(false);
in my FragmentActivity
and
lista.setDescendantFocusability(ListView.FOCUS_BLOCK_DESCENDANTS);
in my onCreate method in ListFragment
, but nothing happens. ("lista" is my ListView
).
Here is the code for the OnItemClickListener
method:
lista = (ListView) view.findViewById(id.list); lista.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
A few days ago, I used only Activities
instead of Fragments
(now I need them because of ViewPager
), and the code worked fine, so I believe that xml is not needed.
EDIT Add Code:
Fragmentmentctivity
public class TabsFacturasActivity extends SherlockFragmentActivity { private static class MyAdapter extends FragmentPagerAdapter { private String[] titles = { "VER FACTURAS", "VER CONSUMO", "INTRODUCIR LECTURA" }; private final FragmentManager mFragmentManager; private Fragment mFragmentAtPos0; public MyAdapter(FragmentManager fragmentManager) { super(fragmentManager); mFragmentManager = fragmentManager; } @Override public CharSequence getPageTitle(int position) { return titles[position]; } @Override public Fragment getItem(int position) { switch (position) { case 0:
Listfragment
public class FacturasFragment extends ListFragment { private ListView lista; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_facturas, container, false); ... lista = (ListView) view.findViewById(id.list); lista.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {