I am trying to create a list view within a fragment in Android. I have successfully populated the list view with the array of clubs but my method OnClick is never reached when I click on my list. I am hoping to see a toast pop up with row number.
Please see code below:
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
/**
* club selection java Class
*/
public class ClubsFragment extends Fragment implements View.OnClickListener {
String[] mClubArray;
ListView MyList;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//returning our layout file
//change R.layout.yourlayoutfilename for each of your fragments
View view = inflater.inflate(R.layout.fragment_clubs, container, false);
mClubArray = getResources().getStringArray(R.array.club_array);
ArrayAdapter<String> itemsAdapter =
new ArrayAdapter<String>(getContext(), R.layout.list_item_style, mClubArray);
MyList = (ListView) view.findViewById(R.id.ClubList);
MyList.setAdapter(itemsAdapter);
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//you can set the title for your toolbar here for different fragments different titles
getActivity().setTitle("Clubs");
}
@Override
public void onClick(View view) {
MyList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id)
{
Toast.makeText(getContext(),
"Click ListItem Number " + position, Toast.LENGTH_LONG)
.show();
}
});
}
}