AllSubscriptionNumbersAdapter.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package com.xzjmyk.pm.activity.adapter;
  2. import android.annotation.TargetApi;
  3. import android.content.Context;
  4. import android.os.Build;
  5. import android.os.Handler;
  6. import android.os.Message;
  7. import android.util.Log;
  8. import android.view.View;
  9. import android.view.ViewGroup;
  10. import android.widget.BaseAdapter;
  11. import android.widget.TextView;
  12. import com.xzjmyk.pm.activity.R;
  13. import com.xzjmyk.pm.activity.bean.SubscriptionNumber;
  14. import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
  15. import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
  16. import com.xzjmyk.pm.activity.ui.erp.util.Constants;
  17. import com.xzjmyk.pm.activity.view.crouton.Crouton;
  18. import java.util.HashMap;
  19. import java.util.LinkedHashMap;
  20. import java.util.List;
  21. import java.util.Map;
  22. /**
  23. * Created by PROD on 2016/9/7.
  24. */
  25. public class AllSubscriptionNumbersAdapter extends BaseAdapter {
  26. private Context mContext;
  27. private List<SubscriptionNumber> mSubscriptionNumbers;
  28. private int clickPosition;
  29. public AllSubscriptionNumbersAdapter(Context mContext, List<SubscriptionNumber> mSubscriptionNumbers) {
  30. this.mContext = mContext;
  31. this.mSubscriptionNumbers = mSubscriptionNumbers;
  32. }
  33. @Override
  34. public int getCount() {
  35. return mSubscriptionNumbers.size();
  36. }
  37. @Override
  38. public Object getItem(int position) {
  39. return mSubscriptionNumbers.get(position);
  40. }
  41. @Override
  42. public long getItemId(int position) {
  43. return position;
  44. }
  45. @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
  46. @Override
  47. public View getView(final int position, View convertView, ViewGroup parent) {
  48. ViewHolder viewHolder = null;
  49. if (convertView == null){
  50. convertView = View.inflate(mContext, R.layout.layout_all_subscription_number_list,null);
  51. viewHolder = new ViewHolder();
  52. viewHolder.nameTextView = (TextView) convertView.findViewById(R.id.all_subscription_list_name_tv);
  53. viewHolder.applyTextView = (TextView) convertView.findViewById(R.id.all_subscription_apply_tv);
  54. convertView.setTag(viewHolder);
  55. }else {
  56. viewHolder = (ViewHolder) convertView.getTag();
  57. }
  58. boolean sub = mSubscriptionNumbers.get(position).isSub();
  59. viewHolder.nameTextView.setText(mSubscriptionNumbers.get(position).getTitle());
  60. if (sub){
  61. viewHolder.nameTextView.setTextColor(mContext.getResources().getColor(R.color.gray));
  62. viewHolder.nameTextView.setBackground(mContext.getResources().getDrawable(R.drawable.shape_subscribe_selet_bg));
  63. viewHolder.applyTextView.setText("已订阅");
  64. viewHolder.applyTextView.setEnabled(false);
  65. }else {
  66. viewHolder.nameTextView.setTextColor(mContext.getResources().getColor(R.color.white));
  67. viewHolder.nameTextView.setBackground(mContext.getResources().getDrawable(R.drawable.shape_subscribe_bg));
  68. viewHolder.applyTextView.setText("申请");
  69. viewHolder.applyTextView.setEnabled(true);
  70. }
  71. viewHolder.applyTextView.setOnClickListener(new View.OnClickListener() {
  72. @Override
  73. public void onClick(View v) {
  74. // Intent intent = new Intent();
  75. // intent.setClass(mContext, ApplySubscribeActivity.class);
  76. // mContext.startActivity(intent);
  77. clickPosition = position;
  78. sendApplySubs(clickPosition);
  79. }
  80. });
  81. return convertView;
  82. }
  83. /**
  84. * 申请订阅
  85. */
  86. private void sendApplySubs(int position) {
  87. String applyUrl = Constants.getAppBaseUrl(mContext) + "common/charts/vastAddSubsApply.action";
  88. Map<String,Object> params = new HashMap<>();
  89. params.put("ids",mSubscriptionNumbers.get(position).getId());
  90. params.put("caller","VastAddSubsApply");
  91. LinkedHashMap<String,Object> headers = new LinkedHashMap<>();
  92. headers.put("Cookie","JSESSIONID="+ CommonUtil.getSharedPreferences(mContext,"sessionId"));
  93. ViewUtil.httpSendRequest(mContext,applyUrl,params,mHandler,headers,APPLY_SUBSCRIPTION,null,null,"post");
  94. }
  95. class ViewHolder{
  96. TextView nameTextView;
  97. TextView applyTextView;
  98. }
  99. private final static int APPLY_SUBSCRIPTION = 101;
  100. private Handler mHandler = new Handler(){
  101. @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
  102. @Override
  103. public void handleMessage(Message msg) {
  104. switch (msg.what){
  105. case APPLY_SUBSCRIPTION:
  106. Log.d("applysubscription", msg.getData().getString("result"));
  107. Crouton.makeText(mContext, "添加订阅成功");
  108. mSubscriptionNumbers.get(clickPosition).setSub(true);
  109. notifyDataSetChanged();
  110. break;
  111. case Constants.APP_SOCKETIMEOUTEXCEPTION:
  112. Crouton.makeText(mContext,msg.getData().getString("result"));
  113. break;
  114. }
  115. }
  116. };
  117. }