fragment bug fix
This commit is contained in:
parent
253f6339ee
commit
5c0aaf7ad8
@ -114,8 +114,8 @@ public class MainActivity extends AppCompatActivity implements ActivityResultCal
|
|||||||
finish();
|
finish();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LoginActivity.RETURN_LOGIN_SUCCESSFUL:
|
|
||||||
case AccountActivity.RETURN_ACCOUNT_CHANGED:
|
case AccountActivity.RETURN_ACCOUNT_CHANGED:
|
||||||
|
case LoginActivity.RETURN_LOGIN_SUCCESSFUL:
|
||||||
setupAdapter();
|
setupAdapter();
|
||||||
break;
|
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
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public Fragment createFragment(int position) {
|
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.backend.utils.RefreshDelay.RefreshCallback;
|
||||||
import org.nuclearfog.twidda.config.GlobalSettings;
|
import org.nuclearfog.twidda.config.GlobalSettings;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this fragment class hosts a list view inside a swipe view
|
* this fragment class hosts a list view inside a swipe view
|
||||||
* superclass for all list fragments
|
* 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 int REFRESH_DELAY_MS = 1000;
|
||||||
|
|
||||||
|
private static final Random rand = new Random();
|
||||||
|
|
||||||
private RecyclerView list;
|
private RecyclerView list;
|
||||||
private SwipeRefreshLayout reload;
|
private SwipeRefreshLayout reload;
|
||||||
protected GlobalSettings settings;
|
protected GlobalSettings settings;
|
||||||
|
|
||||||
private boolean isRefreshing = false;
|
private boolean isRefreshing = false;
|
||||||
|
private long sessionId = rand.nextLong();
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@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
|
* called when swipe refresh is active
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user