0

У меня есть проект с фрагментами. На основном фрагменте у меня есть список с элементами (связанный с pic), который создается с помощью пользовательского адаптера, и я думаю, что мне нужно использовать OnItemClickListener, чтобы щелкнуть элементы, идущие на другую активность. Ниже приведен фрагмент моего класса HomeFragment, и здесь я хочу создать OnItemClickListener, возможно ли это? Как я могу это сделать?Фрагменты и настройка OnItemClickListener

public class HomeFragment extends Fragment implements OnClickListener { 
    public HomeFragment() { 
     // Required empty public constructor 
    } 
    View rootView; 

    @Override 
    public void onCreate(final Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

    } 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     rootView = inflater.inflate(R.layout.fragment_home, container, false); 


     RowBean RowBean_data[] = new RowBean[]{ 
       new RowBean(R.drawable.kamil, "Kamil "), 
       new RowBean(R.drawable.bartlomiej, "Bartlomiej "), 
       new RowBean(R.drawable.krzysztof, "Krzysztof ") 
     }; 


     CustomAdapter adapter = new CustomAdapter(getActivity().getApplicationContext(), R.layout.list_style, RowBean_data); 
     ListView lista = (ListView) rootView.findViewById(R.id.lista); 
     lista.setAdapter(adapter); 


     return rootView; 
    } 

    @Override 
    public void onAttach(Activity activity) {  super.onAttach(activity); } 

    @Override public void onDetach() {  super.onDetach(); } 

    @Override public void onClick(View v) {  Toast.makeText(getActivity(), "Works!", Toast.LENGTH_SHORT).show(); } 

} 

screen

ответ

2

Добавить следующий слушатель, прежде чем return rootView; заявление в вашем onCreateView методе

lista.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
            int position, long id) { 
       //do stuff 
       Intent intent=new Intent(CurrentActivity.this,AnotherActivty.class); 
       startActivity(intent); 
      } 
     }); 
1

Да. Вы должны использовать onItemClickListener() Вы можете использовать его следующим образом:

listView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, 
      long id) { 
      // You can launch activity here in your case. 
    } 
});