Skip to content

Commit 834669d

Browse files
committed
Client:提升动态滚动流畅度
1 parent 51272e6 commit 834669d

4 files changed

Lines changed: 32 additions & 32 deletions

File tree

APIJSON(Android)/APIJSON(ADT)/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentListFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ public String getCacheId(MomentItem data) {
279279
}
280280
@Override
281281
public int getCacheCount() {
282-
return 4;
282+
return 3;
283283
}
284284

285285

APIJSON(Android)/APIJSON(ADT)/APIJSONApp/APIJSONApp/src/apijson/demo/client/model/MomentItem.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,20 @@ public MomentItem setMoment(Moment moment) {
116116
return this;
117117
}
118118

119-
// @NonNull
119+
@NonNull
120120
public List<User> getUserList() {
121-
// if (userList == null) {
122-
// userList = new ArrayList<>();
123-
// }
121+
if (userList == null) {
122+
userList = new ArrayList<User>();
123+
List<Long> list = getPraiseUserIdList();
124+
if (list != null) {
125+
User u;
126+
for (Long id : list) {
127+
u = new User(id);
128+
u.setName("" + id);
129+
userList.add(u);
130+
}
131+
}
132+
}
124133
return userList;
125134
}
126135
public MomentItem setUserList(List<User> userList) {

APIJSON(Android)/APIJSON(ADT)/APIJSONApp/APIJSONApp/src/apijson/demo/client/view/MomentView.java

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ public void bindView(MomentItem data_){
185185
// 图片
186186
setPicture(moment.getPictureList());
187187
// 点赞
188-
setPraise(data.getIsPraised(), data.getUserList(), data.getPraiseUserIdList());
188+
setPraise(data.getIsPraised(), data.getUserList());
189189
// 评论
190190
setComment(data.getCommentItemList());
191191

@@ -202,22 +202,12 @@ public void bindView(MomentItem data_){
202202
* @param joined
203203
* @param list
204204
*/
205-
private void setPraise(boolean joined, List<User> userList, List<Long> list) {
205+
private void setPraise(boolean joined, List<User> userList) {
206206
ivMomentViewPraise.setImageResource(joined ? R.drawable.praised : R.drawable.praise);
207-
208-
if (userList == null || userList.isEmpty()) {
209-
if (list != null) {
210-
userList = new ArrayList<User>();
211-
User u;
212-
for (Long id : list) {
213-
u = new User(id);
214-
u.setName("" + id);
215-
userList.add(u);
216-
}
217-
}
218-
}
219207
llMomentViewPraise.setVisibility(userList == null || userList.isEmpty() ? View.GONE : View.VISIBLE);
220-
tvMomentViewPraise.setView(userList);
208+
if (llMomentViewPraise.getVisibility() == View.VISIBLE) {
209+
tvMomentViewPraise.setView(userList);
210+
}
221211
}
222212

223213
private boolean showComment = true;

APIJSON(Android)/APIJSON(ADT)/APIJSONApp/APIJSONApp/src/apijson/demo/client/view/PraiseTextView.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,18 @@ public PraiseTextView(Context context, AttributeSet attrs, int defStyle) {
5959
/**设置View
6060
* @param comment
6161
*/
62-
public void setView(List<User> list_) {
63-
if (list_ == null || list_.isEmpty()) {
62+
public void setView(List<User> list) {
63+
if (list == null || list.isEmpty()) {
6464
setText("");
6565
return;
6666
}
67-
//去除无效User
68-
List<User> list = new ArrayList<User>();
69-
for (User user: list_) {
70-
if (user != null && StringUtil.isNotEmpty(user.getName(), true)) {
71-
list.add(user);
72-
}
73-
}
67+
// //影响列表滚动流畅度,去除无效User
68+
// List<User> list = new ArrayList<User>();
69+
// for (User user: list_) {
70+
// if (user != null && StringUtil.isNotEmpty(user.getName(), true)) {
71+
// list.add(user);
72+
// }
73+
// }
7474
int count = list == null ? 0 : list.size();
7575
if (count > 9) {
7676
list = list.subList(0, 9);
@@ -84,10 +84,10 @@ public void setView(List<User> list_) {
8484
for (int i = 0; i < list.size(); i++) {
8585
user = list.get(i);
8686
dividerIndexes.add(content.length());
87-
content += (i <= 0 ? "" : "、") + user.getName();
87+
content += (i <= 0 ? "" : "、") + (user == null ? " " : user.getName());
8888
}
8989
dividerIndexes.add(content.length());//最后一个
90-
90+
9191
//空格保证多行时不会点击空白处总是响应最后一个
9292
SpannableString msp = new SpannableString(content + (count <= 9 ? " " : " 等觉得很赞"));//" + count + "人觉得很赞"));
9393

@@ -115,7 +115,8 @@ public void onNameClick(int index, View widget, User user) {
115115
if (listener != null) {
116116
listener.onNameClick(index, widget, user);
117117
} else {
118-
CommonUtil.toActivity((Activity) getContext(), UserActivity.createIntent(getContext(), user.getId()));
118+
CommonUtil.toActivity((Activity) getContext(), UserActivity.createIntent(
119+
getContext(), user == null ? 0 : user.getId()));
119120
}
120121
}
121122

0 commit comments

Comments
 (0)