package com.partynetwork.iparty.ishare; import java.util.ArrayList; import java.util.List; import com.partynetwork.dataprovider.DataProvider.IJsonResultListener; import com.partynetwork.dataprovider.json.NetworkEntity; import com.partynetwork.dataprovider.json.struct.Public_reportRequest; 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.baidu.mobstat.StatService; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.TextView; /** * 举报页面 com.dongcemedia.iparty.ishare.IshareReportActivity * * @author 沈跃双 Create at 2013-12-19 下午6:00:50 */ public class IshareReportActivity extends Activity implements IJsonResultListener { public static String REPORT_EVENT_TYPE = "reportEventType"; public static String CONTENT_ID = "contentId"; /** * 返回按钮 */ @ViewInject(R.id.menu_head_left) private LinearLayout backBtn; /** * 举报的内容 */ @ViewInject(R.id.report_content) private EditText reportContentEt; /** * 举报的选择列表 */ @ViewInject(R.id.report_ll) private LinearLayout reportLl; /** * 提交举报 */ @ViewInject(R.id.submit_tv) private TextView submit; /** * 存放ImageView的链表,给之后单选效果使用 */ private List<ImageView> imageList = new ArrayList<ImageView>(); /** * 数据源 */ private String[] str = { "垃圾内容", "仇恨言论或煽动暴力", "假冒", "裸露", "版权", "其他原因" }; private int contentId; private int reportEventType; private String reportType; /** * */ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_report); ViewUtils.inject(this); init(); } /** * 点击事件监听 * * @param v */ @OnClick({ R.id.menu_head_left, R.id.submit_tv }) public void onClick(View view) { switch (view.getId()) { case R.id.submit_tv: // 点击提交 sendRequest(); break; case R.id.menu_head_left: // 关闭当前举报窗口 finish(); break; default: break; } } private void init() { reportEventType = getIntent().getIntExtra(REPORT_EVENT_TYPE, 0); contentId = getIntent().getIntExtra(CONTENT_ID, 0); imageList.removeAll(imageList); for (String title : str) { // 包裹在两个控件外面的layout布局 LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); layoutParam.setMargins(0, 20, 0, 0); layoutParam.gravity = Gravity.CENTER_VERTICAL; LinearLayout layout = new LinearLayout(this); layout.setTag(title); layout.setOnClickListener(new OnClickListener() { public void onClick(View v) { choose(v.getTag().toString()); } }); layout.setLayoutParams(layoutParam); // 左侧显示选中与否的状态按钮 ImageView image = new ImageView(this); image.setImageResource(R.drawable.contacts_normal); // 把当前的image放到列表中 imageList.add(image); LinearLayout.LayoutParams textParam = new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); textParam.setMargins(10, 0, 0, 0); TextView text = new TextView(this); text.setText(title); text.setTextColor(Color.BLACK); text.setTextSize(18); text.setLayoutParams(textParam); layout.addView(image); layout.addView(text); reportLl.addView(layout); } choose(str[0]); } /** * 选择投诉理由操作 * * @param string */ private void choose(String string) { reportType = string; for (int i = 0; i < str.length; i++) { if (str[i].equals(string)) { imageList.get(i).setImageResource(R.drawable.contacts_selected); } else { imageList.get(i).setImageResource(R.drawable.contacts_normal); } } } /** * 发送举报的请求 */ private void sendRequest() { AppContext context = (AppContext) getApplication(); Public_reportRequest request = new Public_reportRequest(); request.setContent(StringUtil.checkEditText(reportContentEt)); request.setContentId(contentId); request.setReportEventType(reportEventType); request.setReportType(reportType); request.setUserId(context.getLoginUid()); context.getmDataProvider().getJsonFromNetwork(request, this); } /** * 请求开始 */ public void onNetworkRequest() { } /** * 请求失败后的回调方法 */ public void onResultFail(String result) { T.showTips(this, R.drawable.tips_error, result); } /** * 请求成功后的回调方法 */ public void onResultSuccess(NetworkEntity entity) { if (entity.getRequest().getAction() .equals(new Public_reportRequest().getAction())) { T.showTips(this, R.drawable.tips_smile, "举报成功!"); finish(); } } @Override protected void onResume() { StatService.onResume(this); super.onResume(); } @Override protected void onPause() { StatService.onPause(this); super.onPause(); } }