2015-03-31 4 views
-1

Не знаю, почему это событие onItemClick не работает ...андроид ListView под фрагментом не onItemClick работает

public class FragmentList extends Fragment { 
    View rootView; 
    ListView list; 


    public FragmentList(){} 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     rootView = inflater.inflate(R.layout.fragment_list, container, false); 
     list=(ListView)rootView.findViewById(R.id.list); 

     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { 
       Log.i("test", String.valueOf(position)); 

       } 
      }); 
     return rootView; 
    } 
} 

Каждый имеет представление об этом. Большое спасибо

+1

вы не установили свой адаптер для этого списка, поэтому клики не могут быть зарегистрированы. –

+0

ваш размер списка = 0, ширина = 0, высота = 0 из-за отсутствия ребенка. Итак, где место u может щелкнуть в этом? Сначала нужен setadapter – kemdo

ответ

2

Если какой-либо элемент строки списка содержит фокусный или кликабельный вид, тогда OnItemClickListener не будет работать.

Элемент строки должен иметь такой параметр, как android:descendantFocusability="blocksDescendants".

Для получения дополнительной информации нажмите here.

+0

У меня есть список во фрагменте. При нажатии на элемент он будет переходить к фрагменту детали, заменяя его. Однако, когда я нажимаю кнопку «Назад» из фрагмента детали, он возвращается к фрагменту списка, требующему снова загрузить все данные. Можно ли сохранить все элементы списка и статус в обратном направлении. Благодарю. – user3691709

+0

@ user3691709, да, на – adsion

+0

@ user3691709, вы можете судить, если ваш rootView пуст или нет, когда вызывается метод onCreateView, а затем решаете, запрашивать ли запрос для загрузки всех данных или нет. – adsion

Смежные вопросы