title: Context Menu on ListView inside Fragments
body: <p>I've searched everywhere and I also tried every code I looked into but unfortunately none of them worked. :( I already added registerForContextMenu() method but it still won't pop a menu when i click on an item in my list. Please help. I'm going crazy already. :( Here's what I got so far... </p>
  
  <pre><code>public class BorrowersFragment extends Fragment {
  // TODO: Rename parameter arguments, choose names that match
  // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
  Button btnSearch,btnGetAll;
  
  private static final String ARG_PARAM1 = "param1";
  private static final String ARG_PARAM2 = "param2";
  
  // TODO: Rename and change types of parameters
  private String mParam1;
  private String mParam2;
  
  private OnFragmentInteractionListener mListener;
  
  public BorrowersFragment() {
      // Required empty public constructor
  }
  
  /**
   * Use this factory method to create a new instance of
   * this fragment using the provided parameters.
   *
   * @param param1 Parameter 1.
   * @param param2 Parameter 2.
   * @return A new instance of fragment BorrowersFragment.
   */
  // TODO: Rename and change types and number of parameters
  public static BorrowersFragment newInstance(String param1, String param2) {
      BorrowersFragment fragment = new BorrowersFragment();
      Bundle args = new Bundle();
      args.putString(ARG_PARAM1, param1);
      args.putString(ARG_PARAM2, param2);
      fragment.setArguments(args);
      return fragment;
  }
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      if (getArguments() != null) {
          mParam1 = getArguments().getString(ARG_PARAM1);
          mParam2 = getArguments().getString(ARG_PARAM2);
      }
  
  }
  
  /*@Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
                           Bundle savedInstanceState) {
      // Inflate the layout for this fragment
      return inflater.inflate(R.layout.fragment_borrowers, container, false);
  }*/
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      //super.onCreate(savedInstanceState);
      //setContentView(R.layout.activity_main);
      View borrowerView = inflater.inflate(R.layout.fragment_borrowers, container, false);
      btnSearch = (Button) borrowerView.findViewById(R.id.btnSearch);
      //btnSearch.setOnClickListener(this);
  
      btnGetAll = (Button) borrowerView.findViewById(R.id.btnGetAll);
      //btnGetAll.setOnClickListener(this);
  
      BorrowerDBHelper repo = new BorrowerDBHelper(this.getContext());
      UserDBHelper repoUser = new UserDBHelper(this.getContext());
      User user = repoUser.getUserInfo();
      ArrayList&lt;HashMap&lt;String, String&gt;&gt; borrowerList =  repo.getBorrowerList(user.getId());
      if(borrowerList.size()!=0) {
          ListView lv = (ListView) borrowerView.findViewById(R.id.borrowerListView);
          ListAdapter adapter = new SimpleAdapter( BorrowersFragment.this.getContext(),borrowerList, R.layout.view_borrower, new String[] { "id","full_name"}, new int[] {R.id.borrower_Id, R.id.borrower_name});
          lv.setAdapter(adapter);
          registerForContextMenu(lv);
      }else{
          Toast.makeText(this.getContext(),"No student!",Toast.LENGTH_SHORT).show();
      }
      return  borrowerView;
  }
  
  @Override
  public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
      super.onCreateContextMenu(menu, v, menuInfo);
      menu.add(Menu.NONE, R.id.view_profile_item, Menu.NONE, "View Profile");
      menu.add(Menu.NONE, R.id.view_payments_item, Menu.NONE, "View Payment History");
      menu.add(Menu.NONE, R.id.add_payment_item, Menu.NONE, "Add Payment");
  }
  
  @Override
  public boolean onContextItemSelected(MenuItem item) {
      switch (item.getItemId()) {
          case R.id.view_profile_item:
              Log.i("ContextMenu", "Item 1a was chosen");
              return true;
          case R.id.view_payments_item:
              Log.i("ContextMenu", "Item 1b was chosen");
              return true;
          case R.id.add_payment_item:
              Log.i("ContextMenu", "Item 1b was chosen");
              return true;
      }
      return super.onContextItemSelected(item);
  }
  
  // TODO: Rename method, update argument and hook method into UI event
  public void onButtonPressed(Uri uri) {
      if (mListener != null) {
          mListener.onFragmentInteraction(uri);
      }
  }
  
  /*@Override
  public void onAttach(Context context) {
      super.onAttach(context);
      if (context instanceof OnFragmentInteractionListener) {
          mListener = (OnFragmentInteractionListener) context;
      } else {
          throw new RuntimeException(context.toString()
                  + " must implement OnFragmentInteractionListener");
      }
  }*/
  
  @Override
  public void onDetach() {
      super.onDetach();
      mListener = null;
  }
  
  /**
   * This interface must be implemented by activities that contain this
   * fragment to allow an interaction in this fragment to be communicated
   * to the activity and potentially other fragments contained in that
   * activity.
   * &lt;p&gt;
   * See the Android Training lesson &lt;a href=
   * "http://developer.android.com/training/basics/fragments/communicating.html"
   * &gt;Communicating with Other Fragments&lt;/a&gt; for more information.
   */
  public interface OnFragmentInteractionListener {
      // TODO: Update argument type and name
      void onFragmentInteraction(Uri uri);
  }
  }
  </code></pre>
  
  <p>Please do note that this fragment is called/shown when I choose it from a navigation drawer which is inside a MainActivity. 
  Hope you can help me. Thanks!</p>