package com.wb.sc.adapter;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.android.volley.toolbox.NetworkImageView;
import com.wb.sc.R;
import com.wb.sc.app.SCApp;
import com.wb.sc.bean.ImagesItem;
import com.wb.sc.bean.SaleHouseList;
import com.wb.sc.config.IntentExtraConfig;
import com.wb.sc.config.NetConfig;
import com.wb.sc.dialog.ConfirmDialog;
import com.wb.sc.mk.img.ImageBrowseActivity;
public class SaleHouseListAdapter extends BaseAdapter implements OnClickListener{
private Activity mActivity;
private SaleHouseList mSaleList;
private CallPhoneListener phoneListener;
public SaleHouseListAdapter(Activity activity, SaleHouseList list) {
mActivity = activity;
mSaleList = list;
phoneListener = new CallPhoneListener();
}
@Override
public int getCount() {
return mSaleList.datas.size();
}
@Override
public Object getItem(int position) {
return mSaleList.datas.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
ViewHolder holder;
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(mActivity);
view = inflater.inflate(R.layout.house_sale_item, null);
holder = new ViewHolder();
holder.totalPriceTv = (TextView) view.findViewById(R.id.total_price);
holder.priceDescTv = (TextView) view.findViewById(R.id.price_desc);
holder.typeTv = (TextView) view.findViewById(R.id.type);
holder.areaTv = (TextView) view.findViewById(R.id.area);
holder.yearTv = (TextView) view.findViewById(R.id.year);
holder.orientationTv = (TextView) view.findViewById(R.id.orientation);
holder.floorTv = (TextView) view.findViewById(R.id.floor);
holder.structureTv = (TextView) view.findViewById(R.id.structure);
holder.finishTv = (TextView) view.findViewById(R.id.finish);
holder.categoryTv = (TextView) view.findViewById(R.id.category);
holder.propertiesTv = (TextView) view.findViewById(R.id.properties);
holder.timeTv = (TextView) view.findViewById(R.id.time);
holder.configurationTv = (TextView) view.findViewById(R.id.configuration);
holder.phoneTv = (TextView) view.findViewById(R.id.phone);
holder.phoneVg = (ViewGroup) view.findViewById(R.id.phone_layout);
holder.phoneVg.setOnClickListener(phoneListener);
holder.imgVg = (LinearLayout) view.findViewById(R.id.imgs);
holder.img1Iv = (NetworkImageView) view.findViewById(R.id.img1);
holder.img2Iv = (NetworkImageView) view.findViewById(R.id.img2);
holder.img3Iv = (NetworkImageView) view.findViewById(R.id.img3);
holder.img4Iv = (NetworkImageView) view.findViewById(R.id.img4);
holder.imgIvList = new ArrayList<NetworkImageView>();
holder.imgIvList.add(holder.img1Iv);
holder.imgIvList.add(holder.img2Iv);
holder.imgIvList.add(holder.img3Iv);
holder.imgIvList.add(holder.img4Iv);
holder.img1Iv.setOnClickListener(this);
holder.img2Iv.setOnClickListener(this);
holder.img3Iv.setOnClickListener(this);
holder.img4Iv.setOnClickListener(this);
holder.imgLineV = view.findViewById(R.id.img_line);
view.setTag(holder);
} else {
view = convertView;
holder = (ViewHolder) view.getTag();
}
holder.img1Iv.setTag(position+"&1");
holder.img2Iv.setTag(position+"&2");
holder.img3Iv.setTag(position+"&3");
holder.img4Iv.setTag(position+"&4");
holder.phoneVg.setTag(position+"");
com.wb.sc.bean.SaleHouseList.Item item = mSaleList.datas.get(position);
holder.totalPriceTv.setText(item.totalPrice);
holder.priceDescTv.setText(item.priceDesc);
holder.typeTv.setText(item.type);
holder.areaTv.setText(item.area + "㎡");
holder.yearTv.setText(item.year);
holder.orientationTv.setText(item.orientation);
holder.floorTv.setText(item.floor);
holder.structureTv.setText(item.structure);
holder.finishTv.setText(item.finish);
holder.categoryTv.setText(item.category);
if(item.equals("1")) {
holder.propertiesTv.setText("有产权");
} else if(item.equals("0")) {
holder.propertiesTv.setText("无产权");
} else {
holder.propertiesTv.setText(item.properties);
}
holder.timeTv.setText(item.time);
holder.configurationTv.setText(item.configuration);
holder.phoneTv.setText(item.phone);
for(NetworkImageView iv : holder.imgIvList) {
iv.setVisibility(View.GONE);
}
// item.imgList.clear();
// item.imgList.add("http://img3.cache.netease.com/cnews/2014/11/9/201411091912085e32c.jpg");
// item.imgList.add("http://img5.cache.netease.com/photo/0001/2014-11-02/AA2G0LS100AN0001.jpg");
// item.imgList.add("http://img5.cache.netease.com/photo/0001/2014-11-02/AA2G0LS100AN0001.jpg");
// item.imgList.add("http://img5.cache.netease.com/photo/0001/2014-11-02/AA2G0LS100AN0001.jpg");
// item.imgList.add("http://img5.cache.netease.com/photo/0001/2014-11-02/AA2G0LS100AN0001.jpg");
// item.imgList.add("http://img5.cache.netease.com/photo/0001/2014-11-02/AA2G0LS100AN0001.jpg");
// holder.imgVg.removeAllViews();
if(item.imgList.size() > 0) {
// PostImgAdapter adapter = new PostImgAdapter(mContext, item.imgList);
// holder.imgLv.setAdapter(adapter);
// holder.imgLv.setVisibility(View.GONE);
holder.imgLineV.setVisibility(View.VISIBLE);
holder.imgVg.setVisibility(View.VISIBLE);
for(int i=0; i<item.imgList.size() && i < 4; i++) {
String imgUrl = item.imgList.get(i);
if(!TextUtils.isEmpty(imgUrl)) {
// NetworkImageView itemIv = new NetworkImageView(mActivity);
holder.imgIvList.get(i).setVisibility(View.VISIBLE);
NetworkImageView itemIv = holder.imgIvList.get(i);
// String smallImgUrl = ImgUrlUtil.getSmallUrl(imgUrl);
itemIv.setImageUrl(NetConfig.getPictureUrl(imgUrl), SCApp.getInstance().getImageLoader());
// holder.imgVg.addView(itemIv);
// LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams)itemIv.getLayoutParams();
// lp.width = pItemWidth;
// lp.height = pItemWidth;
// lp.rightMargin = rightMargin;
}
}
} else {
// holder.imgLv.setVisibility(View.GONE);
holder.imgLineV.setVisibility(View.GONE);
holder.imgVg.setVisibility(View.GONE);
}
return view;
}
class ViewHolder {
TextView totalPriceTv;
TextView priceDescTv;
TextView typeTv;
TextView areaTv;
TextView yearTv;
TextView orientationTv;
TextView floorTv;
TextView structureTv;
TextView finishTv;
TextView categoryTv;
TextView propertiesTv;
TextView timeTv;
TextView configurationTv;
TextView phoneTv;
LinearLayout imgVg;
NetworkImageView img1Iv;
NetworkImageView img2Iv;
NetworkImageView img3Iv;
NetworkImageView img4Iv;
List<NetworkImageView> imgIvList;
View imgLineV;
ViewGroup phoneVg;
}
@Override
public void onClick(View v) {
int position = Integer.valueOf(v.getTag().toString().split("&")[0]);
int index = Integer.valueOf(v.getTag().toString().split("&")[1]) - 1;
com.wb.sc.bean.SaleHouseList.Item item = mSaleList.datas.get(position);
ArrayList<ImagesItem> imgs = new ArrayList<ImagesItem>();
ImagesItem imgItem = new ImagesItem();
imgs.add(imgItem);
imgItem.name = "";
imgItem.imageNum = item.imgList.size();
imgItem.images = new String[imgItem.imageNum];
int i=0;
for(String imgUrl : item.imgList) {
imgItem.images[i] = imgUrl;
i++;
}
Intent intent = new Intent(mActivity, ImageBrowseActivity.class);
intent.putParcelableArrayListExtra(IntentExtraConfig.IMAGE_BROWSER_DATA, imgs);
intent.putExtra(IntentExtraConfig.IMAGE_BROWSER_DIS_TAB, false);
intent.putExtra(IntentExtraConfig.IMAGE_BROWSER_POS, index);
mActivity.startActivity(intent);
}
class CallPhoneListener implements OnClickListener {
@Override
public void onClick(View v) {
int position = Integer.valueOf(v.getTag().toString());
final com.wb.sc.bean.SaleHouseList.Item item = mSaleList.datas.get(position);
new ConfirmDialog().getDialog(mActivity, "呼叫", item.phone,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+item.phone));
mActivity.startActivity(intent);
}
}).show();
}
}
}