|
@@ -5,6 +5,7 @@ import android.animation.AnimatorListenerAdapter;
|
|
|
import android.animation.ObjectAnimator;
|
|
|
import android.content.Context;
|
|
|
import android.graphics.Color;
|
|
|
+import android.text.TextUtils;
|
|
|
import android.util.AttributeSet;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
@@ -187,6 +188,7 @@ public class SwitchAlbumView extends FrameLayout implements View.OnClickListener
|
|
|
if (data != null && data.size() > 0) {
|
|
|
mAdapter.setSelectId(defaultId);
|
|
|
mAdapter.setList(data);
|
|
|
+ scrollToPosition(defaultId, data);
|
|
|
} else {
|
|
|
mAdapter.getData().clear();
|
|
|
mAdapter.notifyDataSetChanged();
|
|
@@ -194,6 +196,30 @@ public class SwitchAlbumView extends FrameLayout implements View.OnClickListener
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void scrollToPosition(String defaultId, ArrayList<AlbumListBean> data) {
|
|
|
+ int i = checkSelectPosition(defaultId, data);
|
|
|
+ mRecyclerView.post(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ mRecyclerView.scrollToPosition(i);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private int checkSelectPosition(String defaultId, ArrayList<AlbumListBean> data) {
|
|
|
+ try {
|
|
|
+ for (int i = 0; i < data.size(); i++) {
|
|
|
+ AlbumListBean albumListBean = data.get(i);
|
|
|
+ if (TextUtils.equals(defaultId, albumListBean.getId())) {
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
|
int id = v.getId();
|