Skip to content

Commit 0bcdd79

Browse files
committed
Fix bug and optimize
1 parent 383a961 commit 0bcdd79

File tree

19 files changed

+162
-208
lines changed

19 files changed

+162
-208
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ https://github.com/rome753/ActivityTaskView/releases
4747

4848
2. Add ActivityTaskHelper.java file to you project
4949

50-
https://github.com/rome753/ActivityTaskView/blob/master/app/src/main/java/cc/rome753/demo/ActivityTaskHelper.java
50+
https://github.com/rome753/ActivityTaskView/blob/master/app/src/main/java/cc/rome753/activitytask/ActivityTaskHelper.java
5151

5252
3. Init ActivityTaskHelper in your application's onCreate()
5353
```

activitytaskview/src/main/java/cc/rome753/activitytask/AUtils.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import android.content.Context;
44
import android.content.res.Resources;
5+
import android.view.View;
6+
import android.view.ViewGroup;
57

68
/**
79
* Created by rome753 on 2018/5/10.
@@ -29,4 +31,10 @@ public static int getStatusBarHeight(Context context) {
2931
}
3032
return result;
3133
}
34+
35+
public static void removeParent(View view) {
36+
if(view != null && view.getParent() instanceof ViewGroup) {
37+
((ViewGroup) view.getParent()).removeView(view);
38+
}
39+
}
3240
}

activitytaskview/src/main/java/cc/rome753/activitytask/MainActivity.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
6363
checkWindowPermission();
6464
}
6565

66+
@Override
67+
public void onBackPressed() {
68+
moveTaskToBack(false);
69+
}
70+
6671
private void checkWindowPermission() {
6772
if (Build.VERSION.SDK_INT >= 23 && !Settings.canDrawOverlays(this)) {
6873
binding.btnPermission.setVisibility(View.VISIBLE);

activitytaskview/src/main/java/cc/rome753/activitytask/model/ViewPool.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.util.LinkedList;
99
import java.util.Observable;
1010

11+
import cc.rome753.activitytask.AUtils;
1112
import cc.rome753.activitytask.view.ATextView;
1213
import cc.rome753.activitytask.view.FragmentTaskView;
1314

@@ -26,7 +27,7 @@ public void recycle(ViewGroup viewGroup) {
2627
for(int i = 0; i < viewGroup.getChildCount(); i++) {
2728
View view = viewGroup.getChildAt(i);
2829
if(view instanceof ATextView) {
29-
removeParent(view);
30+
AUtils.removeParent(view);
3031
view.setTag(null);
3132
pool.add((ATextView) view);
3233
} else if(view instanceof FragmentTaskView) {
@@ -49,12 +50,6 @@ public ATextView getOne(Context context) {
4950
return view;
5051
}
5152

52-
private void removeParent(View view) {
53-
if(view != null && view.getParent() instanceof ViewGroup) {
54-
((ViewGroup) view.getParent()).removeView(view);
55-
}
56-
}
57-
5853
public void notifyLifecycleChange(LifecycleInfo info) {
5954
setChanged();
6055
notifyObservers(info);

activitytaskview/src/main/java/cc/rome753/activitytask/view/ActivityTaskView.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ private void doClick() {
9797

9898
private void doLongClick() {
9999
Intent intent = new Intent(getContext().getApplicationContext(), MainActivity.class);
100+
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
100101
getContext().getApplicationContext().startActivity(intent);
101102
}
102103

activitytaskview/src/main/java/cc/rome753/activitytask/view/TaskLayout.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import android.widget.LinearLayout;
88
import android.widget.TextView;
99

10+
import cc.rome753.activitytask.AUtils;
1011
import cc.rome753.activitytask.R;
1112

1213

@@ -39,6 +40,7 @@ public void addFirst(View view) {
3940
}
4041

4142
public void addSecond(View view) {
43+
AUtils.removeParent(view);
4244
ll.addView(view, 1);
4345
}
4446

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<application
66
android:name=".DemoApplication"
77
android:allowBackup="true"
8-
android:icon="@mipmap/activity_task"
8+
android:icon="@drawable/ic_launcher"
99
android:label="@string/app_name"
1010
android:supportsRtl="true"
1111
android:theme="@style/AppTheme">

app/src/main/java/cc/rome753/demo/ActivityTaskHelper.java renamed to app/src/main/java/cc/rome753/activitytask/ActivityTaskHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cc.rome753.demo;
1+
package cc.rome753.activitytask;
22

33
import android.app.Activity;
44
import android.app.Application;
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package cc.rome753.demo;
2+
3+
4+
import android.os.Bundle;
5+
import android.view.LayoutInflater;
6+
import android.view.View;
7+
import android.view.ViewGroup;
8+
import android.widget.TextView;
9+
10+
import androidx.fragment.app.Fragment;
11+
12+
13+
/**
14+
* A simple {@link Fragment} subclass.
15+
* Use the {@link ChildFragment#newInstance} factory method to
16+
* create an instance of this fragment.
17+
*/
18+
public class ChildFragment extends Fragment {
19+
public ChildFragment() {
20+
// Required empty public constructor
21+
}
22+
23+
public static ChildFragment newInstance() {
24+
ChildFragment fragment = new ChildFragment();
25+
Bundle args = new Bundle();
26+
fragment.setArguments(args);
27+
return fragment;
28+
}
29+
30+
@Override
31+
public View onCreateView(LayoutInflater inflater, ViewGroup container,
32+
Bundle savedInstanceState) {
33+
// Inflate the layout for this fragment
34+
View view = inflater.inflate(R.layout.fragment_child, container, false);
35+
((TextView)view.findViewById(R.id.tv)).setText(getClass().getSimpleName() + "@x" + Integer.toHexString(hashCode()));
36+
return view;
37+
}
38+
39+
}

app/src/main/java/cc/rome753/demo/DemoApplication.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
11
package cc.rome753.demo;
22

3-
import android.app.Activity;
43
import android.app.Application;
5-
import android.content.Context;
6-
import android.content.Intent;
7-
import android.os.Bundle;
8-
import android.view.View;
94

10-
import androidx.fragment.app.Fragment;
11-
import androidx.fragment.app.FragmentActivity;
12-
import androidx.fragment.app.FragmentManager;
13-
14-
import java.util.ArrayList;
5+
import cc.rome753.activitytask.ActivityTaskHelper;
156

167
/**
178
* Created by rome753@163.com on 2017/3/23.

0 commit comments

Comments
 (0)