提交 0d5b6d24 编写于 作者: J jessyan

butterKnife to 8.4.0

上级 ad4868b6
<component name="libraryTable">
<library name="butterknife-8.4.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/arms/build/intermediates/exploded-aar/com.jakewharton/butterknife/8.4.0/jars/classes.jar!/" />
<root url="file://$PROJECT_DIR$/arms/build/intermediates/exploded-aar/com.jakewharton/butterknife/8.4.0/res" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/8.4.0/bc76ce8e6c5cf2c92ca6efbbc8b70403d3fd061e/butterknife-8.4.0-sources.jar!/" />
</SOURCES>
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="butterknife-7.0.1">
<library name="butterknife-annotations-8.4.0">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/7.0.1/d5d13ea991eab0252e3710e5df3d6a9d4b21d461/butterknife-7.0.1.jar!/" />
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife-annotations/8.4.0/ea392375cf9ff59234a82e7928a204215ccc98cd/butterknife-annotations-8.4.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/7.0.1/ad53343e57ae0969aaf451a19eef381abe2ad3a1/butterknife-7.0.1-sources.jar!/" />
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife-annotations/8.4.0/7a16d82461021005f75be89293341fd3cef73bfc/butterknife-annotations-8.4.0-sources.jar!/" />
</SOURCES>
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="support-annotations-24.1.0">
<CLASSES>
<root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/24.1.0/support-annotations-24.1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/24.1.0/support-annotations-24.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>
\ No newline at end of file
......@@ -37,7 +37,7 @@
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
......@@ -55,6 +55,7 @@ dependencies {
testCompile rootProject.ext.dependencies["junit"]
apt rootProject.ext.dependencies["dagger2-apt-compiler"]
provided rootProject.ext.dependencies["javax.annotation"]
apt rootProject.ext.dependencies["butterknife-apt"]
compile project(':arms')
compile rootProject.ext.dependencies["paginate"]
debugCompile rootProject.ext.dependencies["canary-debug"]
......
......@@ -13,7 +13,7 @@ import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.UiUtils;
import com.paginate.Paginate;
import butterknife.Bind;
import butterknife.BindView;
import me.jessyan.mvparms.demo.R;
import me.jessyan.mvparms.demo.di.component.AppComponent;
import me.jessyan.mvparms.demo.di.component.DaggerUserComponent;
......@@ -26,14 +26,16 @@ import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action1;
import timber.log.Timber;
import static me.jessyan.mvparms.demo.R.id.SwipeRefreshLayout;
public class UserActivity extends WEActivity<UserPresenter> implements UserContract.View, SwipeRefreshLayout.OnRefreshListener {
@Nullable
@Bind(R.id.recyclerView)
@BindView(R.id.recyclerView)
RecyclerView mRecyclerView;
@Nullable
@Bind(R.id.SwipeRefreshLayout)
@BindView(SwipeRefreshLayout)
SwipeRefreshLayout mSwipeRefreshLayout;
private Paginate mPaginate;
......
......@@ -10,7 +10,7 @@ import com.jess.arms.base.BaseHolder;
import com.jess.arms.widget.imageloader.ImageLoader;
import com.jess.arms.widget.imageloader.glide.GlideImageConfig;
import butterknife.Bind;
import butterknife.BindView;
import me.jessyan.mvparms.demo.R;
import me.jessyan.mvparms.demo.app.WEApplication;
import me.jessyan.mvparms.demo.mvp.model.entity.User;
......@@ -23,10 +23,10 @@ import rx.Observable;
public class UserItemHolder extends BaseHolder<User> {
@Nullable
@Bind(R.id.iv_avatar)
@BindView(R.id.iv_avatar)
ImageView mAvater;
@Nullable
@Bind(R.id.tv_name)
@BindView(R.id.tv_name)
TextView mName;
private ImageLoader mImageLoader;//用于加载图片的管理类,默认使用glide,使用策略模式,可替换框架
private final WEApplication mApplication;
......
......@@ -24,6 +24,8 @@ import java.util.LinkedList;
import javax.inject.Inject;
import butterknife.ButterKnife;
import butterknife.Unbinder;
public abstract class BaseActivity<P extends BasePresenter> extends RxAppCompatActivity {
protected final String TAG = this.getClass().getSimpleName();
private BroadcastReceiver mBroadcastReceiver;
......@@ -35,6 +37,7 @@ public abstract class BaseActivity<P extends BasePresenter> extends RxAppCompatA
private static final String LAYOUT_LINEARLAYOUT = "LinearLayout";
private static final String LAYOUT_FRAMELAYOUT = "FrameLayout";
private static final String LAYOUT_RELATIVELAYOUT = "RelativeLayout";
private Unbinder mUnbinder;
@Override
......@@ -81,7 +84,8 @@ public abstract class BaseActivity<P extends BasePresenter> extends RxAppCompatA
}
EventBus.getDefault().register(this);//注册到事件主线
setContentView(initView());
ButterKnife.bind(this);//绑定到butterknife
//绑定到butterknife
mUnbinder = ButterKnife.bind(this);
ComponentInject();//依赖注入
initData();
}
......@@ -112,7 +116,7 @@ public abstract class BaseActivity<P extends BasePresenter> extends RxAppCompatA
mApplication.getActivityList().remove(this);
}
if (mPresenter != null) mPresenter.onDestroy();//释放资源
ButterKnife.unbind(this);
if (mUnbinder != Unbinder.EMPTY) mUnbinder.unbind();
EventBus.getDefault().unregister(this);
}
......
......@@ -14,6 +14,7 @@ import org.simple.eventbus.EventBus;
import javax.inject.Inject;
import butterknife.ButterKnife;
import butterknife.Unbinder;
/**
* Created by jess on 2015/12/8.
......@@ -24,12 +25,14 @@ public abstract class BaseFragment<P extends BasePresenter> extends RxFragment {
protected final String TAG = this.getClass().getSimpleName();
@Inject
protected P mPresenter;
private Unbinder mUnbinder;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mRootView = initView();
ButterKnife.bind(this, mRootView);//绑定到butterknife
//绑定到butterknife
mUnbinder = ButterKnife.bind(this, mRootView);
return mRootView;
}
......@@ -51,7 +54,7 @@ public abstract class BaseFragment<P extends BasePresenter> extends RxFragment {
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.unbind(this);
if (mUnbinder != Unbinder.EMPTY) mUnbinder.unbind();
}
@Override
......
......@@ -5,18 +5,21 @@ import android.app.Dialog;
import android.view.View;
import butterknife.ButterKnife;
import butterknife.Unbinder;
/**
* Created by zhiyicx on 2016/3/17.
*/
public class KnifeUtil {
public static void bindTarget(Object target, Object source) {
public static Unbinder bindTarget(Object target, Object source) {
if (source instanceof Activity) {
ButterKnife.bind(target, (Activity) source);
return ButterKnife.bind(target, (Activity) source);
} else if (source instanceof View) {
ButterKnife.bind(target, (View) source);
return ButterKnife.bind(target, (View) source);
} else if (source instanceof Dialog) {
ButterKnife.bind(target, (Dialog) source);
return ButterKnife.bind(target, (Dialog) source);
} else {
return Unbinder.EMPTY;
}
}
}
......@@ -29,7 +29,8 @@ ext {
"okhttp3" : "com.squareup.okhttp3:okhttp:3.2.0",
"gson" : "com.google.code.gson:gson:2.6.2",
"autolayout" : "com.zhy:autolayout:1.4.1",
"butterknife" : "com.jakewharton:butterknife:7.0.1",
"butterknife" : "com.jakewharton:butterknife:8.4.0",
"butterknife-apt" : "com.jakewharton:butterknife-compiler:8.4.0",
"glide" : "com.github.bumptech.glide:glide:3.7.0",
"androideventbus" : "org.simple:androideventbus:1.0.5.1",
"rxandroid" : "io.reactivex:rxandroid:1.1.0",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册