Skip to content

Commit a0fa04c

Browse files
committed
修复一些BUG
1 parent 4dd466a commit a0fa04c

File tree

9 files changed

+48
-65
lines changed

9 files changed

+48
-65
lines changed

.idea/misc.xml

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/com/rae/cnblogs/adapter/BaseItemAdapter.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public VH onCreateViewHolder(ViewGroup parent, int viewType) {
5151
public void onBindViewHolder(VH holder, int position) {
5252
final T dataItem = getDataItem(position);
5353
onBindViewHolder(holder, position, dataItem);
54-
if (mOnItemClickListener != null) {
54+
if (mOnItemClickListener != null && dataItem != null) {
5555
holder.itemView.setOnClickListener(new View.OnClickListener() {
5656
@Override
5757
public void onClick(View v) {
@@ -63,7 +63,7 @@ public void onClick(View v) {
6363

6464

6565
T getDataItem(int position) {
66-
return mDataList == null ? null : mDataList.get(position % getItemCount());
66+
return Rx.isEmpty(mDataList) ? null : mDataList.get(position % getItemCount());
6767
}
6868

6969
@Override
@@ -83,6 +83,10 @@ public int getItemCount() {
8383
* @param data 数据
8484
*/
8585
public void invalidate(List<T> data) {
86+
if (mDataList != null) {
87+
mDataList.clear();
88+
mDataList = null;
89+
}
8690
mDataList = data;
8791
}
8892

app/src/main/java/com/rae/cnblogs/adapter/BlogListItemAdapter.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.rae.cnblogs.sdk.bean.BlogBean;
2020
import com.rae.cnblogs.sdk.bean.BlogType;
2121
import com.rae.swift.Rx;
22+
import com.rae.swift.session.SessionManager;
2223

2324
import java.util.ArrayList;
2425
import java.util.List;
@@ -62,7 +63,7 @@ public int getItemViewType(int position) {
6263
return super.getItemViewType(position);
6364
}
6465
BlogBean blog = getDataItem(position);
65-
if (TextUtils.equals("loading", blog.getTag())) {
66+
if (blog != null && TextUtils.equals("loading", blog.getTag())) {
6667
return VIEW_TYPE_LOADING;
6768
}
6869
return VIEW_TYPE_NORMAL;
@@ -98,7 +99,12 @@ public void onBindViewHolder(RecyclerView.ViewHolder vh, int position, final Blo
9899
holder.authorLayout.setOnClickListener(new View.OnClickListener() {
99100
@Override
100101
public void onClick(View v) {
101-
AppRoute.jumpToBlogger(v.getContext(), m.getBlogApp());
102+
// 判断是否已经登录
103+
if (SessionManager.getDefault().isLogin()) {
104+
AppRoute.jumpToBlogger(v.getContext(), m.getBlogApp());
105+
} else {
106+
AppRoute.jumpToLogin(v.getContext());
107+
}
102108
}
103109
});
104110
break;

app/src/main/java/com/rae/cnblogs/fragment/BlogListFragment.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.greenrobot.eventbus.EventBus;
2323
import org.greenrobot.eventbus.Subscribe;
2424

25+
import java.util.ArrayList;
2526
import java.util.List;
2627

2728
import butterknife.BindView;
@@ -130,20 +131,20 @@ public void onLoadBlogList(int page, List<BlogBean> data) {
130131
else
131132
mRecyclerView.loadMoreComplete();
132133

133-
mItemAdapter.invalidate(data);
134+
mItemAdapter.invalidate(new ArrayList<>(data));
134135
mItemAdapter.notifyDataSetChanged();
135136

136-
// 异步下载博文内容
137+
// 通知异步下载博文内容
137138
EventBus.getDefault().post(new JobEvent(JobScheduler.ACTION_BLOG_CONTENT));
138-
139139
}
140140

141141
@Override
142142
public void onLoadFailed(int page, String msg) {
143-
if (page <= 1)
143+
if (page <= 1) {
144144
mAppLayout.refreshComplete();
145-
else
145+
} else {
146146
mRecyclerView.loadMoreComplete();
147+
}
147148
}
148149

149150
@Override

app/src/main/java/com/rae/cnblogs/fragment/CategoriesFragment.java

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

33
import android.app.Activity;
44
import android.os.Bundle;
5+
import android.os.Handler;
6+
import android.os.Message;
57
import android.support.annotation.Nullable;
68
import android.support.v7.widget.RecyclerView;
79
import android.view.View;
@@ -290,7 +292,8 @@ public ObservableSource<Empty> apply(List<CategoryBean> categoryBeans) throws Ex
290292
@Override
291293
public void accept(@NonNull Empty empty) throws Exception {
292294
if (enableNotify) {
293-
notifyDataSetChanged();
295+
mHandler.removeMessages(0);
296+
mHandler.sendEmptyMessageDelayed(0, 300);
294297
}
295298
}
296299
});
@@ -299,11 +302,18 @@ public void accept(@NonNull Empty empty) throws Exception {
299302

300303
}
301304

302-
// @android.support.annotation.NonNull
303-
// @Override
304-
// public Dialog onCreateDialog(Bundle savedInstanceState) {
305-
// CategoryDialog dialog = new CategoryDialog(getContext());
306-
// dialog.setTopMargin(getArguments().getInt("margin"));
307-
// return dialog;
308-
// }
305+
private Handler mHandler = new Handler(new Handler.Callback() {
306+
@Override
307+
public boolean handleMessage(Message msg) {
308+
notifyDataSetChanged();
309+
return false;
310+
}
311+
});
312+
313+
@Override
314+
public void onDestroy() {
315+
mHandler.removeMessages(0);
316+
mHandler = null;
317+
super.onDestroy();
318+
}
309319
}

app/src/main/java/com/rae/cnblogs/presenter/impl/blog/BlogContentPresenterImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public ObservableSource<String> apply(UserBlogInfo blogInfo) throws Exception {
7373
return createContentObservable(blogInfo.getBlogId());
7474
}
7575
// 从缓存加载
76-
return Observable.just(blogInfo.getContent());
76+
return createObservable(Observable.just(blogInfo.getContent()));
7777
}
7878
})
7979
// 3、缓存/网络加载成功后回调到UI

app/src/main/java/com/rae/cnblogs/service/task/BlogContentTask.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ public BlogContentTask(ConnectivityManager connectivityManager, IBlogApi blogApi
3838
private boolean isWIFI() {
3939
NetworkInfo networkInfo = mConnectivityManager.getActiveNetworkInfo();
4040
if (networkInfo == null || !networkInfo.isConnected()) return false;
41-
Log.d("rae", "网络类型:" + networkInfo.getType() + "; 网络已连接:" + networkInfo.isConnected() + ";是否活跃:" + networkInfo.isAvailable());
4241
return networkInfo.getType() == ConnectivityManager.TYPE_WIFI;
4342
}
4443

app/src/main/res/layout/activity_login.xml

Lines changed: 5 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
android:background="@color/white"
99
android:clipToPadding="false"
1010
android:orientation="vertical"
11-
android:padding="@dimen/default_padding_top">
11+
android:paddingLeft="36dp"
12+
android:paddingRight="36dp"
13+
android:paddingTop="@dimen/default_padding_top">
1214

1315
<!--头部-->
1416
<RelativeLayout
@@ -37,23 +39,14 @@
3739
android:layout_width="wrap_content"
3840
android:layout_height="wrap_content"
3941
android:layout_gravity="center"
40-
android:layout_marginBottom="30dp"
42+
android:layout_marginBottom="46dp"
4143
android:layout_marginTop="4dp"
4244
android:src="@drawable/ic_login_logo"/>
4345

44-
<!--隐藏的WEB登录-->
45-
<FrameLayout
46-
android:id="@+id/fl_content"
47-
android:layout_width="match_parent"
48-
android:layout_height="match_parent"
49-
android:visibility="gone"/>
50-
5146
<LinearLayout
5247
android:id="@+id/ll_login_container"
5348
android:layout_width="match_parent"
5449
android:layout_height="match_parent"
55-
android:layout_marginLeft="40dp"
56-
android:layout_marginRight="40dp"
5750
android:orientation="vertical"
5851
android:visibility="visible">
5952

@@ -132,43 +125,12 @@
132125
android:layout_width="match_parent"
133126
android:layout_height="wrap_content"
134127
android:gravity="center"
135-
android:paddingBottom="12dp"
128+
android:paddingBottom="36dp"
136129
android:paddingTop="12dp"
137130
android:text="@string/login_contract"
138131
android:textColor="@color/ph4"
139132
android:textSize="10sp"/>
140133
</LinearLayout>
141134

142135
</LinearLayout>
143-
144-
<!-- <LinearLayout
145-
android:id="@+id/ll_login_tips_layout"
146-
android:layout_width="match_parent"
147-
android:layout_height="wrap_content"
148-
android:visibility="visible"
149-
android:gravity="center">
150-
151-
<TextView
152-
android:id="@+id/tv_login_tips"
153-
android:layout_width="wrap_content"
154-
android:layout_height="wrap_content"
155-
android:text="每一次登录,都因你而改变"
156-
android:textColor="#e666b7f1"
157-
android:textSize="@dimen/h1"/>
158-
159-
</LinearLayout>-->
160-
161-
162-
<!-- <LinearLayout
163-
android:layout_width="match_parent"
164-
android:layout_height="match_parent"
165-
android:gravity="right|bottom">
166-
167-
<ImageView
168-
android:layout_width="wrap_content"
169-
android:layout_height="wrap_content"
170-
android:layout_marginBottom="32dp"
171-
android:scaleType="matrix"
172-
android:src="@drawable/bg_login"/>
173-
</LinearLayout>-->
174136
</LinearLayout>

app/src/main/res/layout/item_blog_list.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
<LinearLayout
1616
android:id="@+id/ll_blog_author_layout"
17-
android:layout_width="match_parent"
17+
android:layout_width="wrap_content"
1818
android:layout_height="wrap_content"
1919
android:layout_marginBottom="16dp"
2020
android:gravity="center_vertical">
@@ -67,7 +67,7 @@
6767
android:background="@color/default_background"
6868
android:padding="2dp"
6969
android:src="@drawable/ic_default_placeholder"
70-
android:visibility="visible"/>
70+
android:visibility="gone"/>
7171

7272
<LinearLayout
7373
android:id="@+id/layout_blog_list_thumb"

0 commit comments

Comments
 (0)