package com.kaixin.android.activity; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.kaixin.android.KXActivity; import com.kaixin.android.R; import com.kaixin.android.common.Constants; import com.kaixin.android.result.Diary; import com.kaixin.android.result.FriendInfoResult; import com.kaixin.android.result.HomeResult; import com.kaixin.android.result.VisitorsResult; import com.kaixin.android.utils.CallService; import com.kaixin.android.utils.ImageUtil; import com.kaixin.android.utils.StorageUtil; import com.kaixin.android.utils.StringUtil; import com.kaixin.android.utils.TextUtil; import com.kaixin.android.utils.Utils; import com.nostra13.universalimageloader.core.ImageLoader; /** * 好友资料类 * * @author gyz * */ public class FriendInfoActivity extends KXActivity { private Button mBack; private TextView mTitle; private ListView mDisplay; private View mHead; private ImageView mHead_Wallpager; private ImageView mHead_Avatar; private TextView mHead_Name; private ImageView mHead_Gender; private TextView mHead_Constellation; private ImageView mHead_Chat; private ImageView mHead_Gifts; private TextView mHead_Sig; private TextView mHead_About; private TextView mHead_Photo; private TextView mHead_Diary; private TextView mHead_Friends; private LinearLayout mHead_Friends_List; private Button mHead_Friends_List_Count; private FriendInfoAdapter mAdapter; private String mUid;// 当前用户的ID private String mName;// 当前用户的姓名 private String mAvatar;// 当前用户的头像 private FriendInfoResult mInfoResult;// 当前用户的资料数据 private String mEmail; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.friendinfo_activity); mHead = LayoutInflater.from(this).inflate( R.layout.friendinfo_activity_head, null); findViewById(); setListener(); init(); } private void findViewById() { mBack = (Button) findViewById(R.id.friendinfo_back); mTitle = (TextView) findViewById(R.id.friendinfo_title); mDisplay = (ListView) findViewById(R.id.friendinfo_display); mHead_Wallpager = (ImageView) mHead .findViewById(R.id.friendinfo_head_wallpager); mHead_Avatar = (ImageView) mHead .findViewById(R.id.friendinfo_head_avatar); mHead_Name = (TextView) mHead.findViewById(R.id.friendinfo_head_name); mHead_Gender = (ImageView) mHead .findViewById(R.id.friendinfo_head_gender); mHead_Constellation = (TextView) mHead .findViewById(R.id.friendinfo_head_constellation); mHead_Chat = (ImageView) mHead.findViewById(R.id.friendinfo_head_chat); mHead_Gifts = (ImageView) mHead .findViewById(R.id.friendinfo_head_gifts); mHead_Sig = (TextView) mHead.findViewById(R.id.friendinfo_head_sig); mHead_About = (TextView) mHead.findViewById(R.id.friendinfo_head_about); mHead_Photo = (TextView) mHead.findViewById(R.id.friendinfo_head_photo); mHead_Diary = (TextView) mHead.findViewById(R.id.friendinfo_head_diary); mHead_Friends = (TextView) mHead .findViewById(R.id.friendinfo_head_friends); mHead_Friends_List = (LinearLayout) mHead .findViewById(R.id.friendinfo_head_friends_list); mHead_Friends_List_Count = (Button) mHead .findViewById(R.id.friendinfo_head_friends_list_count); } private void setListener() { mBack.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 关闭当前界面 finish(); } }); mHead_Chat.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 跳转到聊天界面并传递姓名和头像 Intent intent = new Intent(); intent.setClass(FriendInfoActivity.this, ChatActivity.class); intent.putExtra("email", mEmail); intent.putExtra("name", mName); intent.putExtra("avatar", mAvatar); startActivity(intent); } }); mHead_Gifts.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 跳转到送礼物界面并传递ID、姓名、头像 Intent intent = new Intent(); intent.setClass(FriendInfoActivity.this, SendGiftActivity.class); intent.putExtra("uid", mUid); intent.putExtra("name", mName); intent.putExtra("avatar", mAvatar); startActivity(intent); } }); mHead_About.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 跳转到关于界面并传递ID和资料 Intent intent = new Intent(); intent.setClass(FriendInfoActivity.this, AboutActivity.class); intent.putExtra("uid", mUid); intent.putExtra("result", mInfoResult); startActivity(intent); } }); mHead_Photo.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 跳转到照片界面并传递ID和姓名 Intent intent = new Intent(); intent.setClass(FriendInfoActivity.this, PhotoActivity.class); intent.putExtra("uid", mUid); intent.putExtra("name", mName); startActivity(intent); } }); mHead_Diary.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 跳转到日记界面并传递ID和姓名 Intent intent = new Intent(); intent.setClass(FriendInfoActivity.this, DiaryActivity.class); intent.putExtra("uid", mUid); intent.putExtra("name", mName); startActivity(intent); } }); mHead_Friends.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 跳转到好友界面并传递ID和姓名 Intent intent = new Intent(); intent.setClass(FriendInfoActivity.this, FriendsActivity.class); intent.putExtra("uid", mUid); intent.putExtra("name", mName); startActivity(intent); } }); mHead_Friends_List_Count.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 判断来访者的数量 if (mInfoResult.getVisitor_count() > 0) { // 跳转到最近来访界面并传递ID Intent intent = new Intent(); intent.setClass(FriendInfoActivity.this, VisitorsActivity.class); intent.putExtra("uid", mUid); startActivity(intent); } else { // 显示提示信息 Toast.makeText(FriendInfoActivity.this, "暂时未有来访者信息", Toast.LENGTH_SHORT).show(); } } }); } private void init() { // 接收用户的ID、姓名、头像 mEmail = getIntent().getStringExtra("email"); mUid = getIntent().getStringExtra("uid"); mName = getIntent().getStringExtra("name"); mAvatar = getIntent().getStringExtra("avatar"); // 获取资料 getInfo(); // 获取状态 getHomeData(); // 根据用户ID显示界面内容,ID为空时代表为当前用户资料则隐藏聊天和送礼物功能 if (StringUtil.isNull(mUid)) { mTitle.setText("我的首页"); mHead_Chat.setVisibility(View.GONE); mHead_Gifts.setVisibility(View.GONE); mAdapter = new FriendInfoAdapter(FriendInfoActivity.this, mKXApplication.mMyStatusResults); } else { CallService.addVisitor(mUid, StorageUtil.getString(this, "userid"), StorageUtil.getString(this, "nickname")); mTitle.setText("好友详情"); mHead_Chat.setVisibility(View.VISIBLE); mHead_Gifts.setVisibility(View.VISIBLE); if (mKXApplication.mFriendStatusResults.containsKey(mUid)) { mAdapter = new FriendInfoAdapter(FriendInfoActivity.this, mKXApplication.mFriendStatusResults.get(mUid)); } else { mAdapter = new FriendInfoAdapter(FriendInfoActivity.this, null); } } // 获取来访者 getVisitors(); // 添加头布局和适配器 mDisplay.addHeaderView(mHead); mDisplay.setAdapter(mAdapter); } @Override protected void onResume() { super.onResume(); /*if(StringUtil.isNull(mUid)){ mInfoResult = mKXApplication.mMyInfoResult; setInfo(); }*/ /*mInfoResult = mKXApplication.mMyInfoResult; setInfo();*/ } /** * 获取用户资料 */ private void getInfo() { // ID为空代表为当前用户数据 if (StringUtil.isNull(mUid)) { if (mKXApplication.mMyInfoResult == null) { mKXApplication.mMyInfoResult = new FriendInfoResult(); String json = CallService.getUserInfo(""); try { JSONObject jsonObject = new JSONObject(json); JSONObject object = jsonObject.getJSONObject("data"); mKXApplication.mMyInfoResult.setName(object .getString("name")); mKXApplication.mMyInfoResult.setAvatar(object .getString("avatar")); mKXApplication.mMyInfoResult.setGender(object .getInt("gender")); mKXApplication.mMyInfoResult.setConstellation(object .getString("constellation")); mKXApplication.mMyInfoResult.setSignature(object .getString("signature")); mKXApplication.mMyInfoResult.setPhoto_count(object .getInt("photo_count")); mKXApplication.mMyInfoResult.setDiary_count(object .getInt("diary_count")); mKXApplication.mMyInfoResult.setFriend_count(object .getInt("friend_count")); mKXApplication.mMyInfoResult.setVisitor_count(object .getInt("visitor_count")); mKXApplication.mMyInfoResult.setWallpager(object .getInt("wallpager")); mKXApplication.mMyInfoResult.setDate(object .getString("date")); mInfoResult = mKXApplication.mMyInfoResult; setInfo(); } catch (JSONException e) { e.printStackTrace(); } } else { mInfoResult = mKXApplication.mMyInfoResult; setInfo(); } } else { if (mKXApplication.mFriendInfoResults.containsKey(mUid)) { mInfoResult = mKXApplication.mFriendInfoResults.get(mUid); setInfo(); } else { mInfoResult = new FriendInfoResult(); String json = CallService.getUserInfo(mUid); try { JSONObject jsonObject = new JSONObject(json); JSONObject object = jsonObject.getJSONObject("data"); mInfoResult.setName(object.getString("name")); mInfoResult.setAvatar(object.getString("avatar")); mInfoResult.setGender(object.getInt("gender")); mInfoResult.setConstellation(object .getString("constellation")); mInfoResult.setSignature(object.getString("signature")); mInfoResult.setPhoto_count(object.getInt("photo_count")); mInfoResult.setDiary_count(object.getInt("diary_count")); mInfoResult.setFriend_count(object.getInt("friend_count")); mInfoResult .setVisitor_count(object.getInt("visitor_count")); mInfoResult.setWallpager(object.getInt("wallpager")); mInfoResult.setDate(object.getString("date")); mKXApplication.mFriendInfoResults.put(mUid, mInfoResult); setInfo(); } catch (JSONException e) { e.printStackTrace(); } } } } /** * 添加资料数据显示到界面上 */ private void setInfo() { mHead_Name.setText(mInfoResult.getName()); // mHead_Avatar.setImageBitmap(mKXApplication.getAvatar(mInfoResult // .getAvatar())); ImageLoader.getInstance().displayImage(Constants.getImageUrl()+ mInfoResult .getAvatar(), mHead_Avatar, ImageUtil.getOption()); mHead_Gender.setImageBitmap(Utils.getGender(getResources(), mInfoResult.getGender())); mHead_Constellation.setText(mInfoResult.getConstellation()); mHead_Sig.setText(new TextUtil(mKXApplication).replace(mInfoResult .getSignature())); mHead_About.setText("关于"); mHead_Photo.setText("照片 " + mInfoResult.getPhoto_count()); mHead_Diary.setText("日记 " + mInfoResult.getDiary_count()); mHead_Friends.setText("好友 " + mInfoResult.getFriend_count()); mHead_Friends_List_Count.setText(mInfoResult.getVisitor_count() + ""); mHead_Wallpager.setImageBitmap(mKXApplication .getTitleWallpager(mInfoResult.getWallpager())); } /** * 获取用户来访者数据 */ private void getVisitors() { // ID为空代表为当前用户数据 if (StringUtil.isNull(mUid)) { if (mKXApplication.mMyVisitorsResults.isEmpty()) { String json; try { json = CallService.getVisitors(StorageUtil.getString(this, "userid")); JSONObject object = new JSONObject(json); JSONArray array = object.getJSONArray( "data"); VisitorsResult result = null; for (int i = 0; i < array.length(); i++) { result = new VisitorsResult(); result.setUid(array.getJSONObject(i).getString("visitor_uid")); result.setName(array.getJSONObject(i).getString("visitor_name")); result.setAvatar(array.getJSONObject(i) .getString("avatar")); result.setTime(array.getJSONObject(i).getString("time")); mKXApplication.mMyVisitorsResults.add(result); } setVisitors(mKXApplication.mMyVisitorsResults); } catch (JSONException e) { e.printStackTrace(); } } else { setVisitors(mKXApplication.mMyVisitorsResults); } } else { if (mKXApplication.mFriendVisitorsResults.containsKey(mUid)) { setVisitors(mKXApplication.mFriendVisitorsResults.get(mUid)); } else { String json; try { json = CallService.getVisitors(mUid); JSONObject object = new JSONObject(json); JSONArray array = object.getJSONArray( "data"); VisitorsResult result = null; List<VisitorsResult> list = new ArrayList<VisitorsResult>(); for (int i = 0; i < array.length(); i++) { result = new VisitorsResult(); result.setUid(array.getJSONObject(i).getString("visitor_uid")); result.setName(array.getJSONObject(i).getString("visitor_name")); result.setAvatar(array.getJSONObject(i) .getString("avatar")); result.setTime(array.getJSONObject(i).getString("time")); list.add(result); } mKXApplication.mFriendVisitorsResults.put(mUid, list); setVisitors(list); } catch (JSONException e) { e.printStackTrace(); } } } } /** * 添加用户的来访者数据显示到界面上 * * @param list * 来访者数据 */ private void setVisitors(List<VisitorsResult> list) { for (int i = 0; i < list.size(); i++) { VisitorsResult result = list.get(i); // 显示最近头像 ImageView imageView = new ImageView(this); int widthAndHeight = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, 30, getResources() .getDisplayMetrics()); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( widthAndHeight, widthAndHeight); imageView.setLayoutParams(params); imageView.setPadding(4, 4, 4, 4); // imageView.setImageBitmap(mKXApplication.getAvatar(result // .getAvatar())); ImageLoader.getInstance().displayImage(Constants.getImageUrl()+ result .getAvatar(), imageView, ImageUtil.getOption()); imageView.setTag(result); mHead_Friends_List.addView(imageView); mHead_Friends_List.invalidate(); imageView.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 获取当前单击的来访者资料,并跳转到查看好友资料界面 VisitorsResult result = (VisitorsResult) v.getTag(); Intent intent = new Intent(); intent.setClass(FriendInfoActivity.this, FriendInfoActivity.class); intent.putExtra("uid", result.getUid()); intent.putExtra("name", result.getName()); intent.putExtra("avatar", result.getAvatar()); startActivity(intent); } }); } } private void getHomeData() { // ID为空代表为当前用户数据 if (StringUtil.isNull(mUid)) { if(mKXApplication.mMyStatusResults.isEmpty()){ String json = CallService.getMyMessages(); try { JSONObject jsonObject = new JSONObject(json); JSONArray array = jsonObject.getJSONArray("data"); HomeResult result = null; for (int i = 0; i < array.length(); i++) { result = new HomeResult(); result.setUid(array.getJSONObject(i).getInt("uid")); result.setEmail(array.getJSONObject(i).getString("email")); result.setName(array.getJSONObject(i).getString("name")); result.setAvatar(array.getJSONObject(i).getString("avatar")); result.setType(array.getJSONObject(i).getString("type")); result.setTime(array.getJSONObject(i).getString("time")); result.setTitle(array.getJSONObject(i).getString("title")); result.setMessageid(array.getJSONObject(i).getInt("messageid")); result.setAlbumid(array.getJSONObject(i).getInt("albumid")); if (array.getJSONObject(i).has("from")) { result.setFrom(array.getJSONObject(i).getString("from")); } if (array.getJSONObject(i).has("comment_count")) { result.setComment_count(array.getJSONObject(i).getInt( "comment_count")); } if (array.getJSONObject(i).has("like_count")) { result.setLike_count(array.getJSONObject(i).getInt( "like_count")); } if (array.getJSONObject(i).has("photo")) { JSONArray photoArray = array.getJSONObject(i).getJSONArray("photo"); List<String> photos = new ArrayList<String>();; for(int j=0; j< photoArray.length();j++){ photos.add(photoArray.getString(j)); } result.setPhoto(photos); } mKXApplication.mMyStatusResults.add(result); } } catch (JSONException e) { e.printStackTrace(); } } }else{ if (!mKXApplication.mFriendStatusResults.containsKey(mUid)) { String json; try { json = CallService.getFriendMessages(mUid); JSONObject jsonObject = new JSONObject(json); JSONArray array = jsonObject.getJSONArray("data"); List<HomeResult> results = new ArrayList<HomeResult>(); HomeResult result = null; for (int i = 0; i < array.length(); i++) { result = new HomeResult(); result.setUid(array.getJSONObject(i).getInt("uid")); result.setEmail(array.getJSONObject(i).getString("email")); result.setName(array.getJSONObject(i).getString("name")); result.setAvatar(array.getJSONObject(i).getString("avatar")); result.setType(array.getJSONObject(i).getString("type")); result.setTime(array.getJSONObject(i).getString("time")); result.setTitle(array.getJSONObject(i).getString("title")); result.setMessageid(array.getJSONObject(i).getInt("messageid")); result.setAlbumid(array.getJSONObject(i).getInt("albumid")); if (array.getJSONObject(i).has("from")) { result.setFrom(array.getJSONObject(i).getString("from")); } if (array.getJSONObject(i).has("comment_count")) { result.setComment_count(array.getJSONObject(i).getInt( "comment_count")); } if (array.getJSONObject(i).has("like_count")) { result.setLike_count(array.getJSONObject(i).getInt( "like_count")); } if (array.getJSONObject(i).has("photo")) { JSONArray photoArray = array.getJSONObject(i).getJSONArray("photo"); List<String> photos = new ArrayList<String>();; for(int j=0; j< photoArray.length();j++){ photos.add(photoArray.getString(j)); } result.setPhoto(photos); } results.add(result); } mKXApplication.mFriendStatusResults.put(mUid, results); } catch (JSONException e) { e.printStackTrace(); } } } } /** * 获取用户的状态数据 */ private class FriendInfoAdapter extends BaseAdapter { private Context mContext; List<HomeResult> mResults = new ArrayList<HomeResult>(); public FriendInfoAdapter(Context context, List<HomeResult> results) { mContext = context; if (results != null) { mResults = results; } } public int getCount() { return mResults.size(); } public Object getItem(int position) { return mResults.size(); } public long getItemId(int position) { return position; } public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate( R.layout.user_info_item, null); holder = new ViewHolder(); holder.viewed = (View) convertView .findViewById(R.id.user_item_viewed); holder.viewed_avatar = (ImageView) holder.viewed .findViewById(R.id.user_info_item_avatar); holder.viewed_name = (TextView) holder.viewed .findViewById(R.id.user_info_item_name); holder.viewed_time = (TextView) holder.viewed .findViewById(R.id.user_info_item_time); holder.viewed_title = (TextView) holder.viewed .findViewById(R.id.user_info_item_content); holder.viewed_from = (TextView) holder.viewed .findViewById(R.id.user_info_item_from); holder.viewed_comment_count = (TextView) holder.viewed .findViewById(R.id.user_info_item_comment_count); holder.viewed_like_count = (TextView) holder.viewed .findViewById(R.id.user_info_item_like_count); holder.viewed_forward_count = (TextView) holder.viewed .findViewById(R.id.user_info_item_forward_count); holder.photo = (View) convertView .findViewById(R.id.user_item_photo); holder.photo_avatar = (ImageView) holder.photo .findViewById(R.id.user_photo_item_avatar); holder.photo_name = (TextView) holder.photo .findViewById(R.id.user_photo_item_name); holder.photo_time = (TextView) holder.photo .findViewById(R.id.user_photo_item_time); holder.photo_title = (TextView) holder.photo .findViewById(R.id.user_photo_item_titie); holder.photo_photo1 = (ImageView) holder.photo .findViewById(R.id.user_photo_item_photo1); holder.photo_photo2 = (ImageView) holder.photo .findViewById(R.id.user_photo_item_photo2); holder.photo_photo3 = (ImageView) holder.photo .findViewById(R.id.user_photo_item_photo3); holder.photo_photo4 = (ImageView) holder.photo .findViewById(R.id.user_photo_item_photo4); holder.photo_photo5 = (ImageView) holder.photo .findViewById(R.id.user_photo_item_photo5); holder.photo_photo6 = (ImageView) holder.photo .findViewById(R.id.user_photo_item_photo6); holder.photo_photo7 = (ImageView) holder.photo .findViewById(R.id.user_photo_item_photo7); holder.photo_photo8 = (ImageView) holder.photo .findViewById(R.id.user_photo_item_photo8); holder.photo_photo9 = (ImageView) holder.photo .findViewById(R.id.user_photo_item_photo9); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mScreenWidth / 4 , mScreenWidth / 4); params.setMargins(2, 2, 2, 2); holder.photo_photo1.setLayoutParams(params); holder.photo_photo2.setLayoutParams(params); holder.photo_photo3.setLayoutParams(params); holder.photo_photo4.setLayoutParams(params); holder.photo_photo5.setLayoutParams(params); holder.photo_photo6.setLayoutParams(params); holder.photo_photo7.setLayoutParams(params); holder.photo_photo8.setLayoutParams(params); holder.photo_photo9.setLayoutParams(params); holder.photo_from = (TextView) holder.photo .findViewById(R.id.user_photo_item_from); holder.photo_comment_count = (TextView) holder.photo .findViewById(R.id.user_photo_item_comment_count); holder.photo_like_count = (TextView) holder.photo .findViewById(R.id.user_photo_item_like_count); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } final HomeResult result = mResults.get(position); if ("viewed".equals(result.getType())) { holder.viewed.setVisibility(View.VISIBLE); holder.photo.setVisibility(View.GONE); holder.viewed.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(mContext, HomeDiaryDetailActivity.class); if(!StorageUtil.getString(mContext, "username").equals(result.getEmail())){ intent.putExtra("uid", result.getUid()); } intent.putExtra("name", result.getName()); intent.putExtra("result", (Serializable)result); mContext.startActivity(intent); } }); // holder.viewed_avatar.setImageBitmap(mKXApplication // .getAvatar(result.getAvatar())); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getAvatar(), holder.viewed_avatar, ImageUtil.getOption()); holder.viewed_name.setText(result.getName()); holder.viewed_time.setText(result.getTime()); holder.viewed_title.setText(result.getTitle()); holder.viewed_from.setText(result.getFrom()); holder.viewed_comment_count.setText(result.getComment_count() + ""); holder.viewed_like_count.setText(result.getLike_count() + ""); holder.viewed_forward_count.setText(result.getComment_count() + ""); } else { holder.viewed.setVisibility(View.GONE); holder.photo.setVisibility(View.VISIBLE); holder.photo_photo2.setVisibility(View.GONE); holder.photo_photo3.setVisibility(View.GONE); holder.photo_photo4.setVisibility(View.GONE); holder.photo_photo5.setVisibility(View.GONE); holder.photo_photo6.setVisibility(View.GONE); holder.photo_photo7.setVisibility(View.GONE); holder.photo_photo8.setVisibility(View.GONE); holder.photo_photo9.setVisibility(View.GONE); // holder.photo_avatar.setImageBitmap(mKXApplication // .getAvatar(result.getAvatar())); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getAvatar(), holder.photo_avatar, ImageUtil.getOption()); holder.photo_name.setText(result.getName()); holder.photo_time.setText(result.getTime()); holder.photo_title.setText(result.getTitle()); for(int i = 0; i < result.getPhoto().size(); i++){ switch(i){ case 0: ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getPhoto().get(i), holder.photo_photo1, ImageUtil.getImageOption()); break; case 1: holder.photo_photo2.setVisibility(View.VISIBLE); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getPhoto().get(i), holder.photo_photo2, ImageUtil.getImageOption()); break; case 2: holder.photo_photo3.setVisibility(View.VISIBLE); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getPhoto().get(i), holder.photo_photo3, ImageUtil.getImageOption()); break; case 3: holder.photo_photo4.setVisibility(View.VISIBLE); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getPhoto().get(i), holder.photo_photo4, ImageUtil.getImageOption()); break; case 4: holder.photo_photo5.setVisibility(View.VISIBLE); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getPhoto().get(i), holder.photo_photo5, ImageUtil.getImageOption()); break; case 5: holder.photo_photo6.setVisibility(View.VISIBLE); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getPhoto().get(i), holder.photo_photo6, ImageUtil.getImageOption()); break; case 6: holder.photo_photo7.setVisibility(View.VISIBLE); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getPhoto().get(i), holder.photo_photo7, ImageUtil.getImageOption()); break; case 7: holder.photo_photo8.setVisibility(View.VISIBLE); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getPhoto().get(i), holder.photo_photo8, ImageUtil.getImageOption()); break; case 8: holder.photo_photo9.setVisibility(View.VISIBLE); ImageLoader.getInstance().displayImage(Constants.getImageUrl() + result.getPhoto().get(i), holder.photo_photo9, ImageUtil.getImageOption()); break; } } holder.photo_from.setText(result.getFrom()); holder.photo_comment_count.setText(result.getComment_count() + ""); holder.photo_like_count.setText(result.getLike_count() + ""); holder.photo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(mContext, HomePhotoPictureDetailActivity.class); if(!StorageUtil.getString(mContext, "username").equals(result.getEmail())){ intent.putExtra("uid", result.getUid()); } intent.putExtra("avatar", result.getAvatar()); intent.putExtra("name", result.getName()); intent.putExtra("result", (Serializable)result); mContext.startActivity(intent); } }); } return convertView; } class ViewHolder { View viewed; ImageView viewed_avatar; TextView viewed_name; TextView viewed_time; TextView viewed_title; TextView viewed_all; TextView viewed_from; TextView viewed_comment_count; TextView viewed_like_count; TextView viewed_forward_count; View photo; ImageView photo_avatar; TextView photo_name; TextView photo_time; TextView photo_title; ImageView photo_photo1; ImageView photo_photo2; ImageView photo_photo3; ImageView photo_photo4; ImageView photo_photo5; ImageView photo_photo6; ImageView photo_photo7; ImageView photo_photo8; ImageView photo_photo9; TextView photo_from; TextView photo_comment_count; TextView photo_like_count; TextView photo_forward_count; } } /*private class FriendInfoAdapter extends BaseAdapter { private Context mContext; private List<Diary> mResults = new ArrayList<Diary>(); public FriendInfoAdapter(Context context, List<Diary> results) { mContext = context; if (results != null) { mResults = results; } } public int getCount() { return mResults.size(); } public Object getItem(int position) { return mResults.get(position); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate( R.layout.friendinfo_activity_item, null); holder = new ViewHolder(); holder.avatar = (ImageView) convertView .findViewById(R.id.friendinfo_item_avatar); holder.name = (TextView) convertView .findViewById(R.id.friendinfo_item_name); holder.time = (TextView) convertView .findViewById(R.id.friendinfo_item_time); holder.content = (TextView) convertView .findViewById(R.id.friendinfo_item_content); holder.from = (TextView) convertView .findViewById(R.id.friendinfo_item_from); holder.comment_count = (TextView) convertView .findViewById(R.id.friendinfo_item_comment_count); holder.forward_count = (TextView) convertView .findViewById(R.id.friendinfo_item_forward_count); holder.like_count = (TextView) convertView .findViewById(R.id.friendinfo_item_like_count); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } // 添加状态信息到界面 Diary result = mResults.get(position); // holder.avatar.setImageBitmap(mAvatar); ImageLoader.getInstance().displayImage(Constants.getImageUrl()+ result.getAvatar(), holder.avatar, ImageUtil.getOption()); holder.name.setText(result.getUsername()); holder.time.setText(result.getTime()); holder.content.setText(new TextUtil(mKXApplication) .replace(result.getTitle())); return convertView; } class ViewHolder { ImageView avatar; TextView name; TextView time; TextView content; TextView from; TextView comment_count; TextView forward_count; TextView like_count; } }*/ }