Skip to content

Commit 49cfd57

Browse files
committed
Fragments: added bindPresenter
for those who using BasePresenter, now can use this before into() calling to bind presenter, thus we can avoid write annoying declare presenter and then set presenter to fragments
1 parent 57ebdd8 commit 49cfd57

File tree

3 files changed

+49
-1
lines changed

3 files changed

+49
-1
lines changed

app/src/main/java/com/xxxifan/devbox/demo/ui/view/main/MvpActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@ public static void start(Context context) {
4545
if (savedInstanceState == null) { // create fragment instance only when savedState is null.
4646
MvpFragment fragment = new MvpFragment();
4747
TestPresenter presenter = new TestPresenter();
48-
presenter.setView(fragment);
4948
presenter.setInfo("activity info"); // test a value set once by activity
5049
Fragments.checkout(this, fragment)
50+
// .bindPresenter(new WrongPresenter())
51+
.bindPresenter(presenter)
5152
.into(FRAGMENT_CONTAINER);
5253
}
5354
Logger.e("onSetupActivity");
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.xxxifan.devbox.demo.ui.view.main;
2+
3+
import android.content.Context;
4+
5+
import com.xxxifan.devbox.library.base.BasePresenter;
6+
import com.xxxifan.devbox.library.base.BaseView;
7+
8+
/**
9+
* Created by xifan on 9/24/16.
10+
*/
11+
12+
public class WrongPresenter implements BasePresenter<WrongPresenter.WrongView> {
13+
14+
@Override public void setView(WrongView view) {
15+
16+
}
17+
18+
@Override public void onDestroy() {
19+
20+
}
21+
22+
public static class WrongView implements BaseView<WrongPresenter> {
23+
@Override public void setPresenter(WrongPresenter presenter) {
24+
25+
}
26+
27+
@Override public Context getContext() {
28+
return null;
29+
}
30+
31+
@Override public String getSimpleName() {
32+
return null;
33+
}
34+
35+
@Override public void showMessage(String msg) {
36+
37+
}
38+
}
39+
40+
}

library/src/main/java/com/xxxifan/devbox/library/util/Fragments.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import com.orhanobut.logger.Logger;
2929
import com.xxxifan.devbox.library.base.BaseFragment;
30+
import com.xxxifan.devbox.library.base.BasePresenter;
3031

3132
import java.lang.ref.WeakReference;
3233
import java.util.List;
@@ -138,6 +139,12 @@ private SingleOperator(FragmentActivity activity, String tag) {
138139
}
139140
}
140141

142+
@SuppressWarnings("unchecked")
143+
public SingleOperator bindPresenter(BasePresenter presenter) {
144+
presenter.setView(fragment);
145+
return this;
146+
}
147+
141148
public SingleOperator addSharedElement(View sharedElement, String name) {
142149
transaction.addSharedElement(sharedElement, name);
143150
return this;

0 commit comments

Comments
 (0)