Skip to content

Commit 94a773c

Browse files
committed
Client:优化UserView
1 parent 17a7184 commit 94a773c

3 files changed

Lines changed: 54 additions & 54 deletions

File tree

‎APIJSON(Android)/APIJSON(ADT)/APIJSONApp/APIJSONApp/res/layout/user_view.xml‎

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,32 +17,21 @@
1717

1818
<LinearLayout style="@style/ll_horizontal_match_wrap" >
1919

20-
<LinearLayout
21-
style="@style/ll_horizontal_match_wrap"
22-
android:layout_weight="1" >
23-
24-
<TextView
25-
android:id="@+id/tvUserViewName"
26-
style="@style/text_middle_black"
27-
android:layout_marginRight="6dp"
28-
android:gravity="left"
29-
android:text="Name" />
30-
31-
<TextView
32-
android:id="@+id/tvUserViewSex"
33-
style="@style/text_micro"
34-
android:layout_width="18dp"
35-
android:layout_height="18dp"
36-
android:background="@drawable/circle_blue"
37-
android:text="男"
38-
android:textColor="@color/blue" />
39-
</LinearLayout>
40-
41-
<ImageView
42-
android:id="@+id/ivUserViewStar"
43-
android:layout_width="21dp"
44-
android:layout_height="21dp"
45-
android:src="@drawable/star_light" />
20+
<TextView
21+
android:id="@+id/tvUserViewName"
22+
style="@style/text_middle_black"
23+
android:layout_marginRight="6dp"
24+
android:gravity="left"
25+
android:text="Name" />
26+
27+
<TextView
28+
android:id="@+id/tvUserViewSex"
29+
style="@style/text_micro"
30+
android:layout_width="18dp"
31+
android:layout_height="18dp"
32+
android:background="@drawable/circle_blue"
33+
android:text="男"
34+
android:textColor="@color/blue" />
4635
</LinearLayout>
4736

4837
<TextView
@@ -51,7 +40,7 @@
5140
android:text="ID:" />
5241

5342
<TextView
54-
android:id="@+id/tvUserViewNumber"
43+
android:id="@+id/tvUserViewPhone"
5544
style="@style/text_middle"
5645
android:text="Phone:" />
5746
</LinearLayout>

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

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -294,16 +294,31 @@ public void onDataChanged() {
294294

295295
@Override
296296
public void onClick(View v) {
297+
if (user == null) {
298+
return;
299+
}
297300
switch (v.getId()) {
298301
case R.id.ivUserViewHead:
299302
toActivity(SelectPictureActivity.createIntent(context), REQUEST_TO_SELECT_PICTURE, false);
300303
break;
301304
case R.id.tvUserViewName:
302-
toActivity(EditTextInfoWindow.createIntent(context, "名字", user == null ? null : user.getName())
305+
toActivity(EditTextInfoWindow.createIntent(context, "名字", user.getName())
303306
, REQUEST_TO_EDIT_TEXT_INFO_NAME, false);
304307
break;
305308
default:
306-
userView.onClick(v);
309+
switch (v.getId()) {
310+
case R.id.tvUserViewSex:
311+
user.setSex(user.getSex() == User.SEX_FEMALE ? User.SEX_MAIL : User.SEX_FEMALE);
312+
break;
313+
case R.id.tvUserViewPhone:
314+
toActivity(EditTextInfoWindow.createIntent(context, EditTextInfoWindow.TYPE_PHONE
315+
, "手机", user.getPhone()), REQUEST_TO_EDIT_TEXT_INFO_PHONE, false);
316+
break;
317+
default:
318+
return;
319+
}
320+
userView.bindView(user);
321+
isDataChanged = true;
307322
break;
308323
}
309324
}
@@ -436,10 +451,11 @@ public void onDialogButtonClick(int requestCode, boolean isPositive) {
436451
//类相关监听<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
437452

438453
private static final int REQUEST_TO_BOTTOM_MENU = 1;
439-
private static final int REQUEST_TO_EDIT_TEXT_INFO = 2;
454+
private static final int REQUEST_TO_SELECT_PICTURE = 2;
455+
private static final int REQUEST_TO_CUT_PICTURE = 3;
456+
private static final int REQUEST_TO_EDIT_TEXT_INFO = 4;
440457
private static final int REQUEST_TO_EDIT_TEXT_INFO_NAME = 5;
441-
private static final int REQUEST_TO_SELECT_PICTURE = 3;
442-
private static final int REQUEST_TO_CUT_PICTURE = 4;
458+
private static final int REQUEST_TO_EDIT_TEXT_INFO_PHONE = 6;
443459

444460
@Override
445461
public void onActivityResult(int requestCode, int resultCode, Intent data) {
@@ -455,16 +471,23 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
455471
break;
456472
case REQUEST_TO_EDIT_TEXT_INFO:
457473
case REQUEST_TO_EDIT_TEXT_INFO_NAME:
474+
case REQUEST_TO_EDIT_TEXT_INFO_PHONE:
458475
if (data == null) {
459476
break;
460477
}
461478
isDataChanged = true;
462479
user = getUser();
463480
String value = data.getStringExtra(EditTextInfoActivity.RESULT_VALUE);
464-
if (requestCode == REQUEST_TO_EDIT_TEXT_INFO) {
465-
user.setTag(value);
466-
} else {
481+
switch (requestCode) {
482+
case REQUEST_TO_EDIT_TEXT_INFO_NAME:
467483
user.setName(value);
484+
break;
485+
case REQUEST_TO_EDIT_TEXT_INFO_PHONE:
486+
user.setPhone(value);
487+
break;
488+
default:
489+
user.setTag(value);
490+
break;
468491
}
469492
setUser(user);
470493
break;

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

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import zuo.biao.library.base.BaseView;
1818
import zuo.biao.library.ui.WebViewActivity;
19+
import zuo.biao.library.util.CommonUtil;
1920
import zuo.biao.library.util.ImageLoaderUtil;
2021
import zuo.biao.library.util.Log;
2122
import zuo.biao.library.util.StringUtil;
@@ -52,26 +53,24 @@ public UserView(Activity context, Resources resources) {
5253
}
5354

5455
public ImageView ivUserViewHead;
55-
public ImageView ivUserViewStar;
5656

5757
public TextView tvUserViewSex;
5858

5959
public TextView tvUserViewName;
6060
public TextView tvUserViewId;
61-
public TextView tvUserViewNumber;
61+
public TextView tvUserViewPhone;
6262
@SuppressLint("InflateParams")
6363
@Override
6464
public View createView(LayoutInflater inflater) {
6565
convertView = inflater.inflate(R.layout.user_view, null);
6666

6767
ivUserViewHead = findViewById(R.id.ivUserViewHead, this);
68-
ivUserViewStar = findViewById(R.id.ivUserViewStar, this);
6968

7069
tvUserViewSex = findViewById(R.id.tvUserViewSex, this);
7170

7271
tvUserViewName = findViewById(R.id.tvUserViewName, this);
7372
tvUserViewId = findViewById(R.id.tvUserViewId);
74-
tvUserViewNumber = findViewById(R.id.tvUserViewNumber);
73+
tvUserViewPhone = findViewById(R.id.tvUserViewPhone, this);
7574

7675
return convertView;
7776
}
@@ -85,7 +84,6 @@ public void bindView(User data){
8584
this.data = data;
8685

8786
ImageLoaderUtil.loadImage(ivUserViewHead, data.getHead(), ImageLoaderUtil.TYPE_OVAL);
88-
ivUserViewStar.setImageResource(data.getStarred() != 0 ? R.drawable.star_light : R.drawable.star);
8987

9088
tvUserViewSex.setBackgroundResource(data.getSex() == User.SEX_FEMALE
9189
? R.drawable.circle_pink : R.drawable.circle_blue);
@@ -94,7 +92,7 @@ public void bindView(User data){
9492

9593
tvUserViewName.setText(StringUtil.getTrimedString(data.getName()));
9694
tvUserViewId.setText("ID:" + data.getId());
97-
tvUserViewNumber.setText("Phone:" + StringUtil.getNoBlankString(data.getPhone()));
95+
tvUserViewPhone.setText("Phone:" + StringUtil.getNoBlankString(data.getPhone()));
9896
}
9997

10098
@Override
@@ -106,19 +104,9 @@ public void onClick(View v) {
106104
case R.id.ivUserViewHead:
107105
toActivity(WebViewActivity.createIntent(context, data.getName(), data.getHead()));
108106
break;
109-
default:
110-
switch (v.getId()) {
111-
case R.id.ivUserViewStar:
112-
data.setStarred(data.getStarred() == 0 ? 1 : 0);
113-
break;
114-
case R.id.tvUserViewSex:
115-
data.setSex(data.getSex() == User.SEX_FEMALE ? User.SEX_MAIL : User.SEX_FEMALE);
116-
break;
117-
}
118-
bindView(data);
119-
if (onDataChangedListener != null) {
120-
onDataChangedListener.onDataChanged();
121-
}
107+
case R.id.tvUserViewName:
108+
case R.id.tvUserViewPhone:
109+
CommonUtil.copyText(context, StringUtil.getTrimedString((TextView) v));
122110
break;
123111
}
124112
}

0 commit comments

Comments
 (0)