android-simple-facebook
android-simple-facebook copied to clipboard
calling getCursor() resulting in item click execute multiple times automatically
When I'm on page 1, the click execute 1 time, when on page 2, i click once, and then it auto execute 2 times. Why this is happening ?
see line of these :
Log.i("groupName", groupName); < == it will be printed multiple times
void updateRecyclerView(final List<com.sromku.simple.fb.entities.Group> accounts) {
mAdapter = new GroupAdapter(accounts);
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), mRecyclerView, new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
rowName = (TextView) view.findViewById(R.id.rowName);
String groupName = (String) rowName.getText();
// groupName will printed * pageNumber = times
// if on page 3, it will printed 3 times.
Log.i("groupName", groupName);
}
@Override
public void onItemLongClick(View view, int position) {}
}));
}
OnGroupsListener onGroupsListener = new OnGroupsListener() {
@Override
public void onComplete(List<com.sromku.simple.fb.entities.Group> groups) {
updateRecyclerView(groups);
if (hasNext()) {
enableLoadMore(getCursor());
next.setBootstrapButtonEnabled(true);
} else {
next.setBootstrapButtonEnabled(false);
}
if (hasPrev()) {
prev.setBootstrapButtonEnabled(true);
} else {
prev.setBootstrapButtonEnabled(false);
}
}
};
private void enableLoadMore(final Cursor<List<com.sromku.simple.fb.entities.Group>> cursor) {
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (cursor.hasNext()) {
cursor.next();
}
}
});
prev.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (cursor.hasPrev()) {
cursor.prev();
}
}
});
}
Solved. Problem occured when
mRecyclerView.addOnItemTouchListener
is declared multiple times. So instead being inside the method, I move it into onCreateView instead