package com.partynetwork.iparty.iparty; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; import com.partynetwork.dataprovider.DataProvider.IJsonResultListener; import com.partynetwork.dataprovider.json.NetworkEntity; import com.partynetwork.dataprovider.json.struct.FileRequest; import com.partynetwork.dataprovider.json.struct.FileResponse; import com.partynetwork.dataprovider.json.struct.Iparty_releaseIpartyRequest; import com.partynetwork.dataprovider.util.StringUtil; import com.partynetwork.dataprovider.util.T; import com.partynetwork.iparty.R; import com.partynetwork.iparty.app.AppContext; import com.partynetwork.iparty.app.common.BitmapManager; import com.partynetwork.iparty.flipmenu.Main; import com.partynetwork.iparty.info.IpartyFreeComboInfo; import com.partynetwork.myview.myimageview.CircularImage; import com.partynetwork.myview.mytoast.LoadingDialog; import com.baidu.mobstat.StatService; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; public class IpartyPublishFourActivity extends Activity implements IJsonResultListener { // 背景ImageView @ViewInject(R.id.bg_iv) ImageView bg_iv; // 预热中图片 @ViewInject(R.id.state_iv) ImageView state_iv; // party标题 @ViewInject(R.id.title_tv) TextView title_tv; // 主题按钮 @ViewInject(R.id.theme_btn) Button theme_btn; // party内容文本 @ViewInject(R.id.content_tv) TextView content_tv; // 更多详情 @ViewInject(R.id.moreinf_tv) TextView moreinf_tv; // 时间文本 @ViewInject(R.id.time_tv) TextView time_tv; // 地址文本 @ViewInject(R.id.adrress_tv) TextView adrress_tv; // 进度条控件 @ViewInject(R.id.percent_pro) ProgressBar percent_pro; // 进度条文本 @ViewInject(R.id.percent_tv) TextView percent_tv; // 目标资金 @ViewInject(R.id.goalmoney_tv) TextView goalmoney_tv; // 当前资金 @ViewInject(R.id.currentmoney_tv) TextView currentmoney_tv; // 目标资金的布局 @ViewInject(R.id.money_rl) RelativeLayout money_rl; // 金额的竖线 @ViewInject(R.id.money_line_ll) LinearLayout money_line_ll; // 参加提示文本 @ViewInject(R.id.attention_explain_tv) TextView attention_explain_tv; // 参加人数 @ViewInject(R.id.attention_tv) TextView attention_tv; // 剩余天数提示文本 @ViewInject(R.id.day_explain_tv) TextView day_explain_tv; // 剩余天数 @ViewInject(R.id.day_tv) TextView day_tv; // 感兴趣提示文本 @ViewInject(R.id.praise_explain_tv) TextView praise_explain_tv; // 感兴趣人数 @ViewInject(R.id.praise_tv_out) TextView praise_tv; // 说明文字 @ViewInject(R.id.explain_tv) TextView explain_tv; // 头像 @ViewInject(R.id.head_iv) CircularImage head_iv; // 名字 @ViewInject(R.id.name_tv) TextView name_tv; // 性别 @ViewInject(R.id.sex_iv) ImageView sex_iv; // 发布者信息 @ViewInject(R.id.userinfo_tv) TextView userinfo_tv; // 发布者信息布局 @ViewInject(R.id.user_rl) RelativeLayout user_rl; // 参加者信息布局 @ViewInject(R.id.join_rl) RelativeLayout join_rl; // 参加者数量 @ViewInject(R.id.join_number_tv) TextView join_tv; // 照片数量 @ViewInject(R.id.photo_tv) TextView photo_tv; // 照片的布局 @ViewInject(R.id.photo_ll) LinearLayout photo_ll; // 套餐布局 @ViewInject(R.id.combo_ll) LinearLayout combo_ll; // 免费套餐布局 @ViewInject(R.id.freecombo_ll) LinearLayout freecombo_ll; // 返回按钮 @ViewInject(R.id.back_rl) RelativeLayout back; /** 发布进度提示框 */ private LoadingDialog dialog; /** * 请求对象 */ private Iparty_releaseIpartyRequest request; private BitmapManager bitmapManager; /** * * 覆盖方法 * * @see android.app.Activity#onCreate(android.os.Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.iparty_publish_four); ViewUtils.inject(this); init(); } /** * 初始化数据、控件 */ private void init() { request = getIntent().getParcelableExtra( IpartyPublishOneActivity.REQUEST); bitmapManager = new BitmapManager(); dialog = new LoadingDialog(this, "发布中……"); setData(); } /** * 设置监听 * * @param view */ @OnClick({ R.id.menu_head_left, R.id.iparty_publish_next }) public void onClick(View view) { switch (view.getId()) { case R.id.menu_head_left: // 返回 finish(); break; case R.id.iparty_publish_next: // 发布iparty releaseIparty(); break; default: break; } } /** * 发布iparty */ private void releaseIparty() { dialog.show(); if (request.getEventPosterArray() != null && request.getEventPosterArray().length != 0) { FileRequest file = new FileRequest(); List<String> fileList = new ArrayList<String>(); // 海报的图片 for (int i = 0; i < request.getEventPosterArray().length; i++) { fileList.add(request.getEventPosterArray()[i]); } // 付费套餐的回报图片 if (request.getEventCombo() != null) { for (int j = 0; j < request.getEventCombo().length; j++) { String name = request.getEventCombo()[j].getComboPhotoUrl(); if (name != null && !name.equals("")) { fileList.add(name); } } } // 免费套餐的回报图片 if (request.getEventFreeCombo() != null && request.getEventFreeCombo().getComboPhotoUrl() != null && !request.getEventFreeCombo().getComboPhotoUrl() .equals("")) { fileList.add(request.getEventFreeCombo().getComboPhotoUrl()); } file.setFilePath(fileList.toArray(new String[fileList.size()])); ((AppContext) getApplication()).getmDataProvider() .getJsonFromNetwork(file, this); } else { ((AppContext) getApplication()).getmDataProvider() .getJsonFromNetwork(request, this); } } /** * 设置数据 */ private void setData() { // 进度值 int percent; /* party状态 */ state_iv.setVisibility(View.GONE); percent = 0; money_line_ll.setVisibility(View.VISIBLE); money_rl.setVisibility(View.VISIBLE); attention_explain_tv.setText("已参加"); day_explain_tv.setText("剩余"); percent_tv.setTextColor(Color.parseColor("#6CC406")); Drawable d = this.getResources().getDrawable( R.drawable.progressbar_horizontal_green); percent_pro.setProgressDrawable(d); if (request.getEventVideoUrl() == null || request.getEventVideoUrl().equals("")) { /* 图片 */ bg_iv.setVisibility(View.VISIBLE); if (request.getEventPosterArray().length > 0) { bitmapManager.loadBitmap(request.getEventPosterArray()[0], bg_iv); } } else { /* 视频 */ bg_iv.setVisibility(View.GONE); } /* party标题 */ title_tv.setText(request.getEventTitle()); if (request.getEventThemeArray() != null && request.getEventThemeArray().length > 0) { theme_btn.setText(request.getEventThemeArray()[0]); } else { theme_btn.setVisibility(View.GONE); } content_tv.setText(request.getEventContent()); if (request.getEventTime() != null && request.getEventTime().length != 0) { time_tv.setText(StringUtil.getStrTime(request.getEventTime()[0] .getStartTime())); } else { time_tv.setVisibility(View.GONE); } /** 地址 */ String address = StringUtil.checkStr(request.getEventAddress()); if (address.equals("")) { adrress_tv.setVisibility(View.GONE); } else { adrress_tv.setText(address); } /* 进度值 */ percent_tv.setText(percent + "%"); percent_pro.setProgress(percent); currentmoney_tv.setText("¥" + 0); attention_tv.setText(0 + "人"); day_tv.setText(request.getEventPreheatDays() + "天"); praise_tv.setText(0 + "人"); // int photoNum = request.getEventPosterArray().length; // photo_tv.setText("Party照片(" + photoNum + ")"); // // if (photoNum != 0) { // photo_ll.removeAllViews(); // } // // for (int i = 0; i < photoNum; i++) { // ImageView iv = new ImageView(this); // bitmapUtils.display(iv, request.getEventPosterArray()[i]); // LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( // 130, LayoutParams.WRAP_CONTENT); // // iv.setLayoutParams(params); // iv.setScaleType(ScaleType.CENTER_CROP); // photo_ll.addView(iv); // } int comboNum = 0; if (request.getEventCombo() != null) { comboNum = request.getEventCombo().length; } for (int i = 0; i < comboNum; i++) { View view = LayoutInflater.from(this).inflate( R.layout.iparty_info_combo, null); TextView money = (TextView) view.findViewById(R.id.combo_money_tv); TextView tip = (TextView) view.findViewById(R.id.combo_tip_tv); TextView attend = (TextView) view .findViewById(R.id.combo_attend_tv); final TextView introduce = (TextView) view .findViewById(R.id.introduce_tv); final ImageView image = (ImageView) view .findViewById(R.id.image_iv); LinearLayout more_ll = (LinearLayout) view .findViewById(R.id.more_ll); money.setText("预付 ¥" + request.getEventCombo()[i].getMoney() + "+"); tip.setText(request.getEventCombo()[i].getAttendNum() + "/" + request.getEventCombo()[i].getMaxNum()); attend.setText(request.getEventCombo()[i].getAttendNum() + "人已参加"); introduce.setText(request.getEventCombo()[i].getIntroduce()); if (request.getEventCombo()[i].getComboPhotoUrl() != null) { bitmapManager.loadBitmap(request.getEventCombo()[i].getComboPhotoUrl(),image); more_ll.setVisibility(View.VISIBLE); } else { more_ll.setVisibility(View.GONE); } more_ll.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (image.getVisibility() == View.GONE) { introduce.setMaxLines(10); image.setVisibility(View.VISIBLE); } else { introduce.setMaxLines(2); image.setVisibility(View.GONE); } } }); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); params.topMargin = -2; if (i == 0) { view.setBackgroundResource(R.drawable.stroke_top); } else if (i == comboNum - 1) { view.setLayoutParams(params); view.setBackgroundResource(R.drawable.stroke_bottom); } else { view.setLayoutParams(params); view.setBackgroundResource(R.drawable.stroke_center); } combo_ll.addView(view); } if (request.getEventFreeCombo() != null) { View view = LayoutInflater.from(this).inflate( R.layout.iparty_info_free, null); TextView tip = (TextView) view.findViewById(R.id.combo_tip_tv); TextView attend = (TextView) view .findViewById(R.id.combo_attend_tv); TextView introduce = (TextView) view .findViewById(R.id.introduce_tv); ImageView image = (ImageView) view.findViewById(R.id.image_iv); TextView sex_tv = (TextView) view.findViewById(R.id.sex_tv); TextView age_tv = (TextView) view.findViewById(R.id.age_tv); TextView needphoto_tv = (TextView) view .findViewById(R.id.needphoto_tv); TextView remark_tv = (TextView) view.findViewById(R.id.remark_tv); TextView apply_tv = (TextView) view.findViewById(R.id.apply_tv); IpartyFreeComboInfo free = request.getEventFreeCombo(); attend.setText(free.getAttendNum() + "人已参加"); tip.setText(free.getAttendNum() + "/" + free.getMaxNum()); introduce.setText(free.getIntroduce()); if (StringUtil.checkStr(free.getComboPhotoUrl()).equals("")) { image.setVisibility(View.GONE); } else { bitmapManager.loadBitmap(free.getComboPhotoUrl(),image); } if (free.getSex() == 0) { sex_tv.setText("性别:男"); } else if (free.getSex() == 1) { sex_tv.setText("性别:女"); } else if (free.getSex() == 2) { sex_tv.setText("性别:其他"); } else { sex_tv.setText("性别:不限"); } age_tv.setText("年龄:" + free.getMinAge() + "~" + free.getMaxAge()); if (free.getNeedPhoto() == 0) { needphoto_tv.setText("需提交真实照片验证"); } else { needphoto_tv.setText("不需提交真实照片验证"); } remark_tv.setText("备注:" + free.getRemark()); apply_tv.setVisibility(View.GONE); freecombo_ll.addView(view); } } public void onNetworkRequest() { } public void onResultSuccess(NetworkEntity entity) { if (entity.getRequest().getAction() .equals(new FileRequest().getAction())) { // 发送文件请求的返回数据 FileResponse file = (FileResponse) entity.getResponse(); String[] str = file.getDetails(); // 海报的图片 String[] posterArray = new String[request.getEventPosterArray().length]; for (int i = 0; i < request.getEventPosterArray().length; i++) { posterArray[i] = str[i]; } // 付费套餐的回报图片 if (request.getEventCombo() != null) { for (int j = 0, k = 0; j < request.getEventCombo().length; j++) { String name = request.getEventCombo()[j].getComboPhotoUrl(); if (name != null && !name.equals("")) { k++; request.getEventCombo()[j] .setComboPhotoUrl(str[posterArray.length - 1 + k]); } } } // 免费套餐的回报图片 if (request.getEventFreeCombo() != null && !StringUtil.checkStr( request.getEventFreeCombo().getComboPhotoUrl()) .equals("")) { request.getEventFreeCombo().setComboPhotoUrl( str[str.length - 1]); } request.setEventPosterArray(posterArray); request.setEventFrontCoverName(str[0]); ((AppContext)getApplication()).getmDataProvider() .getJsonFromNetwork(request, this); } if (entity.getRequest().getAction() .equals(new Iparty_releaseIpartyRequest().getAction())) { if (dialog != null && dialog.isShowing()) { dialog.dismiss(); } T.showTips(this, R.drawable.tips_smile, "发布成功!"); Intent it = new Intent(this, Main.class); it.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(it); finish(); } } public void onResultFail(String result) { if (dialog != null && dialog.isShowing()) { dialog.dismiss(); } T.showTips(this, R.drawable.tips_error, result); } @Override protected void onResume() { StatService.onResume(this); super.onResume(); } @Override protected void onPause() { StatService.onPause(this); super.onPause(); } }