package com.kaixin.android.activity;
import java.util.ArrayList;
import java.util.List;
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.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
import com.kaixin.android.KXActivity;
import com.kaixin.android.R;
import com.kaixin.android.common.Constants;
import com.kaixin.android.result.VisitorsResult;
import com.nostra13.universalimageloader.core.ImageLoader;
/**
* 最近来访类
*
* @author gyz
*
*/
public class VisitorsActivity extends KXActivity {
private Button mBack;
private GridView mDisplay;
private VisitorsAdapter mAdapter;
private List<VisitorsResult> mResults;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.visitors_activity);
findViewById();
setListener();
init();
}
private void findViewById() {
mBack = (Button) findViewById(R.id.visitors_back);
mDisplay = (GridView) findViewById(R.id.visitors_display);
}
private void setListener() {
mBack.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// 关闭当前界面
finish();
}
});
mDisplay.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// 获取点击的来访者数据,跳转到好友资料
VisitorsResult result = mResults.get(position);
Intent intent = new Intent();
intent.setClass(VisitorsActivity.this, FriendInfoActivity.class);
intent.putExtra("uid", result.getUid());
intent.putExtra("name", result.getName());
intent.putExtra("avatar", result.getAvatar());
startActivity(intent);
}
});
}
private void init() {
// 获取查看最近来访用户的ID
String uid = getIntent().getStringExtra("uid");
// ID为null时代表当前用户数据
if (uid == null) {
mResults = mKXApplication.mMyVisitorsResults;
} else {
if (mKXApplication.mFriendVisitorsResults.containsKey(uid)) {
mResults = mKXApplication.mFriendVisitorsResults.get(uid);
} else {
mResults = new ArrayList<VisitorsResult>();
}
}
//添加适配器
mAdapter = new VisitorsAdapter();
mDisplay.setAdapter(mAdapter);
}
private class VisitorsAdapter extends BaseAdapter {
public VisitorsAdapter() {
}
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(VisitorsActivity.this)
.inflate(R.layout.visitors_activity_item, null);
holder = new ViewHolder();
holder.avatar = (ImageView) convertView
.findViewById(R.id.visitors_item_avatar);
int padding = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 40, VisitorsActivity.this
.getResources().getDisplayMetrics());
LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.width = (mScreenWidth - padding) / 4;
params.height = (mScreenWidth - padding) / 4;
holder.avatar.setLayoutParams(params);
holder.name = (TextView) convertView
.findViewById(R.id.visitors_item_name);
holder.time = (TextView) convertView
.findViewById(R.id.visitors_item_time);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
VisitorsResult result = mResults.get(position);
// holder.avatar.setImageBitmap(mKXApplication.getAvatar(result
// .getAvatar()));
ImageLoader.getInstance().displayImage(Constants.getImageUrl()+ result
.getAvatar(), holder.avatar);
holder.name.setText(result.getName());
holder.time.setText(result.getTime());
return convertView;
}
class ViewHolder {
ImageView avatar;
TextView name;
TextView time;
}
}
}