mirror of
https://github.com/nuclearfog/Shitter.git
synced 2025-02-06 05:53:25 +01:00
fragment bug fix
This commit is contained in:
parent
253f6339ee
commit
5c0aaf7ad8
@ -114,8 +114,8 @@ public class MainActivity extends AppCompatActivity implements ActivityResultCal
|
||||
finish();
|
||||
break;
|
||||
|
||||
case LoginActivity.RETURN_LOGIN_SUCCESSFUL:
|
||||
case AccountActivity.RETURN_ACCOUNT_CHANGED:
|
||||
case LoginActivity.RETURN_LOGIN_SUCCESSFUL:
|
||||
setupAdapter();
|
||||
break;
|
||||
|
||||
|
@ -67,6 +67,22 @@ public class FragmentAdapter extends FragmentStateAdapter {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getItemId(int position) {
|
||||
return fragments[position].getSessionId();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean containsItem(long itemId) {
|
||||
for (ListFragment fragment : fragments) {
|
||||
if (fragment.getSessionId() == itemId)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Fragment createFragment(int position) {
|
||||
|
@ -20,6 +20,8 @@ import org.nuclearfog.twidda.backend.utils.RefreshDelay;
|
||||
import org.nuclearfog.twidda.backend.utils.RefreshDelay.RefreshCallback;
|
||||
import org.nuclearfog.twidda.config.GlobalSettings;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* this fragment class hosts a list view inside a swipe view
|
||||
* superclass for all list fragments
|
||||
@ -33,11 +35,14 @@ public abstract class ListFragment extends Fragment implements OnRefreshListener
|
||||
*/
|
||||
private static final int REFRESH_DELAY_MS = 1000;
|
||||
|
||||
private static final Random rand = new Random();
|
||||
|
||||
private RecyclerView list;
|
||||
private SwipeRefreshLayout reload;
|
||||
protected GlobalSettings settings;
|
||||
|
||||
private boolean isRefreshing = false;
|
||||
private long sessionId = rand.nextLong();
|
||||
|
||||
|
||||
@Override
|
||||
@ -125,6 +130,15 @@ public abstract class ListFragment extends Fragment implements OnRefreshListener
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get session fragment ID
|
||||
*
|
||||
* @return unique session ID
|
||||
*/
|
||||
public long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
/**
|
||||
* called when swipe refresh is active
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user