Skip to content

Commit f8fd701

Browse files
committed
see 03/27 log
1 parent 2d0895f commit f8fd701

File tree

5 files changed

+57
-79
lines changed

5 files changed

+57
-79
lines changed

app/src/main/java/com/blankj/androidutilcode/base/BaseFragment.java

Lines changed: 26 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,17 @@
2020
public abstract class BaseFragment extends Fragment
2121
implements IBaseView {
2222

23-
private static final String TAG = "BaseFragment";
24-
23+
private static final String TAG = "BaseFragment";
2524
private static final String STATE_SAVE_IS_HIDDEN = "STATE_SAVE_IS_HIDDEN";
26-
/**
27-
* 当前 Activity 渲染的视图 View
28-
*/
29-
protected View contentView;
30-
/**
31-
* 上次点击时间
32-
*/
33-
private long lastClick = 0;
3425

26+
protected View contentView;
3527
protected BaseActivity mActivity;
3628

29+
private long lastClick = 0;
30+
3731
@Override
3832
public void onCreate(@Nullable Bundle savedInstanceState) {
33+
Log.d(TAG, "onCreate: ");
3934
super.onCreate(savedInstanceState);
4035
if (savedInstanceState != null) {
4136
boolean isSupportHidden = savedInstanceState.getBoolean(STATE_SAVE_IS_HIDDEN);
@@ -45,74 +40,68 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
4540
} else {
4641
ft.show(this);
4742
}
48-
ft.commit();
43+
ft.commitAllowingStateLoss();
4944
}
50-
Log.d(TAG, "onCreate: ");
5145
}
5246

5347
@Nullable
5448
@Override
5549
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
56-
setRetainInstance(true);
57-
contentView = inflater.inflate(bindLayout(), null);
5850
Log.d(TAG, "onCreateView: ");
51+
contentView = inflater.inflate(bindLayout(), null);
5952
return contentView;
6053
}
6154

6255
@Override
6356
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
57+
Log.d(TAG, "onViewCreated: ");
6458
super.onViewCreated(view, savedInstanceState);
6559
Bundle bundle = getArguments();
6660
initData(bundle);
67-
Log.d(TAG, "onViewCreated: ");
6861
}
6962

7063
@Override
7164
public void onActivityCreated(Bundle savedInstanceState) {
65+
Log.d(TAG, "onActivityCreated: ");
7266
super.onActivityCreated(savedInstanceState);
7367
mActivity = (BaseActivity) getActivity();
7468
initView(savedInstanceState, contentView);
7569
doBusiness();
76-
Log.d(TAG, "onActivityCreated: ");
77-
}
78-
79-
/**
80-
* 判断是否快速点击
81-
*
82-
* @return {@code true}: 是<br>{@code false}: 否
83-
*/
84-
private boolean isFastClick() {
85-
long now = System.currentTimeMillis();
86-
if (now - lastClick >= 200) {
87-
lastClick = now;
88-
return false;
89-
}
90-
return true;
91-
}
92-
93-
@Override
94-
public void onClick(View view) {
95-
if (!isFastClick()) onWidgetClick(view);
9670
}
9771

9872
@Override
9973
public void onDestroyView() {
74+
Log.d(TAG, "onDestroyView: ");
10075
if (contentView != null) {
10176
((ViewGroup) contentView.getParent()).removeView(contentView);
10277
}
10378
super.onDestroyView();
104-
Log.d(TAG, "onDestroyView: ");
10579
}
10680

10781
@Override
10882
public void onDestroy() {
109-
super.onDestroy();
11083
Log.d(TAG, "onDestroy: ");
84+
super.onDestroy();
11185
}
11286

11387
@Override
11488
public void onSaveInstanceState(Bundle outState) {
89+
Log.d(TAG, "onSaveInstanceState: ");
11590
super.onSaveInstanceState(outState);
11691
outState.putBoolean(STATE_SAVE_IS_HIDDEN, isHidden());
11792
}
93+
94+
private boolean isFastClick() {
95+
long now = System.currentTimeMillis();
96+
if (now - lastClick >= 200) {
97+
lastClick = now;
98+
return false;
99+
}
100+
return true;
101+
}
102+
103+
@Override
104+
public void onClick(View view) {
105+
if (!isFastClick()) onWidgetClick(view);
106+
}
118107
}
Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
package com.blankj.androidutilcode.base;
22

3-
import android.app.Fragment;
4-
import android.os.Bundle;
5-
import android.view.View;
6-
7-
import com.blankj.utilcode.util.LogUtils;
3+
import android.util.Log;
84

95
/**
106
* <pre>
@@ -14,39 +10,29 @@
1410
* desc :
1511
* </pre>
1612
*/
17-
public abstract class BaseLazyFragment extends Fragment
18-
implements IBaseView {
13+
public abstract class BaseLazyFragment extends BaseFragment {
14+
15+
private static final String TAG = "BaseLazyFragment";
16+
17+
private boolean isDataLoaded;
1918

20-
private long lastClick = 0;
19+
public abstract void doLazyBusiness();
2120

2221
@Override
2322
public void setUserVisibleHint(boolean isVisibleToUser) {
23+
Log.d(TAG, "setUserVisibleHint: " + isVisibleToUser);
2424
super.setUserVisibleHint(isVisibleToUser);
25-
LogUtils.d("setUserVisibleHint() called with: isVisibleToUser = [" + isVisibleToUser + "]");;
26-
}
27-
28-
@Override
29-
public void onCreate(Bundle savedInstanceState) {
30-
super.onCreate(savedInstanceState);
31-
LogUtils.d("onCreate() called VisibleHint: " + getUserVisibleHint());
32-
}
33-
34-
/**
35-
* 判断是否快速点击
36-
*
37-
* @return {@code true}: 是<br>{@code false}: 否
38-
*/
39-
private boolean isFastClick() {
40-
long now = System.currentTimeMillis();
41-
if (now - lastClick >= 200) {
42-
lastClick = now;
43-
return false;
25+
if (isVisibleToUser && contentView != null && !isDataLoaded) {
26+
doLazyBusiness();
27+
isDataLoaded = true;
4428
}
45-
return true;
4629
}
4730

4831
@Override
49-
public void onClick(View view) {
50-
if (!isFastClick()) onWidgetClick(view);
32+
public void doBusiness() {
33+
if (getUserVisibleHint()) {
34+
doLazyBusiness();
35+
isDataLoaded = true;
36+
}
5137
}
5238
}

app/src/main/java/com/blankj/androidutilcode/feature/core/bar/BarStatusAlphaFragment.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
import android.widget.TextView;
77

88
import com.blankj.androidutilcode.R;
9-
import com.blankj.androidutilcode.base.BaseFragment;
9+
import com.blankj.androidutilcode.base.BaseLazyFragment;
1010
import com.blankj.utilcode.util.BarUtils;
11+
import com.blankj.utilcode.util.LogUtils;
1112

1213
/**
1314
* <pre>
@@ -17,7 +18,7 @@
1718
* desc : Bar 工具类 Demo
1819
* </pre>
1920
*/
20-
public class BarStatusAlphaFragment extends BaseFragment {
21+
public class BarStatusAlphaFragment extends BaseLazyFragment {
2122

2223
private int mAlpha;
2324

@@ -53,8 +54,8 @@ public void initView(Bundle savedInstanceState, View view) {
5354
}
5455

5556
@Override
56-
public void doBusiness() {
57-
57+
public void doLazyBusiness() {
58+
LogUtils.d("doLazyBusiness() called");
5859
}
5960

6061
@Override

app/src/main/java/com/blankj/androidutilcode/feature/core/bar/BarStatusColorFragment.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88

99
import com.blankj.androidutilcode.R;
1010
import com.blankj.androidutilcode.UtilsApp;
11-
import com.blankj.androidutilcode.base.BaseFragment;
11+
import com.blankj.androidutilcode.base.BaseLazyFragment;
1212
import com.blankj.utilcode.util.BarUtils;
13+
import com.blankj.utilcode.util.LogUtils;
1314

1415
import java.util.Random;
1516

@@ -21,7 +22,7 @@
2122
* desc : Bar 工具类 Demo
2223
* </pre>
2324
*/
24-
public class BarStatusColorFragment extends BaseFragment {
25+
public class BarStatusColorFragment extends BaseLazyFragment {
2526

2627
private Random mRandom;
2728
private int mColor;
@@ -62,8 +63,8 @@ public void initView(Bundle savedInstanceState, View view) {
6263

6364

6465
@Override
65-
public void doBusiness() {
66-
66+
public void doLazyBusiness() {
67+
LogUtils.d("doLazyBusiness() called");
6768
}
6869

6970
@Override

app/src/main/java/com/blankj/androidutilcode/feature/core/bar/BarStatusImageViewFragment.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
import android.widget.TextView;
77

88
import com.blankj.androidutilcode.R;
9-
import com.blankj.androidutilcode.base.BaseFragment;
9+
import com.blankj.androidutilcode.base.BaseLazyFragment;
1010
import com.blankj.utilcode.util.BarUtils;
11+
import com.blankj.utilcode.util.LogUtils;
1112

1213
/**
1314
* <pre>
@@ -17,7 +18,7 @@
1718
* desc : Bar 工具类 Demo
1819
* </pre>
1920
*/
20-
public class BarStatusImageViewFragment extends BaseFragment {
21+
public class BarStatusImageViewFragment extends BaseLazyFragment {
2122

2223
private int mAlpha;
2324

@@ -52,8 +53,8 @@ public void initView(Bundle savedInstanceState, View view) {
5253
}
5354

5455
@Override
55-
public void doBusiness() {
56-
56+
public void doLazyBusiness() {
57+
LogUtils.d("doLazyBusiness() called");
5758
}
5859

5960
@Override

0 commit comments

Comments
 (0)