package com.weikou.beibeivideo.ui.discover;
|
|
import android.content.SharedPreferences;
|
import android.os.Build;
|
import android.os.Bundle;
|
import android.support.v4.widget.SwipeRefreshLayout;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.Window;
|
import android.view.WindowManager;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.ListView;
|
import android.widget.ProgressBar;
|
import android.widget.TextView;
|
|
import com.google.gson.FieldNamingPolicy;
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.lcjian.library.util.RefreshLayout;
|
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
|
import com.weikou.beibeivideo.BeibeiVideoAPI;
|
import com.weikou.beibeivideo.entity.GoodsComments;
|
import com.weikou.beibeivideo.ui.BaseActivity;
|
import com.yeshi.buwanshequ.R;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* Created by weikou2015 on 2017/1/3.
|
*/
|
|
public class GoodsReviewActivity extends BaseActivity implements View.OnClickListener {
|
TextView tv_top_left;
|
TextView tv_top_middle;
|
ListView lv_review;
|
TextView tv_review_num;
|
ImageView iv_review_edit;
|
RefreshLayout rl_review;
|
int page = 1;
|
|
@Override
|
protected void onCreate(Bundle arg0) {
|
super.onCreate(arg0);
|
setContentView(R.layout.activity_goods_review);
|
/*
|
* 计算状态栏高度并设置
|
*/
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
Window window = getWindow();
|
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
|
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
|
int result = 0;
|
int resourceId = getResources().getIdentifier("status_bar_height",
|
"dimen", "android");
|
if (resourceId > 0) {
|
result = getResources().getDimensionPixelSize(resourceId);
|
}
|
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
|
result);
|
findViewById(R.id.v_status_bar).setLayoutParams(params);
|
} else {
|
findViewById(R.id.v_status_bar).setVisibility(View.GONE);
|
}
|
tv_top_left = (TextView) findViewById(R.id.tv_top_bar_left);
|
tv_top_middle = (TextView) findViewById(R.id.tv_top_bar_middle);
|
tv_top_middle.setText("全部评论");
|
rl_review = (RefreshLayout) findViewById(R.id.rl_review_goods);
|
rl_review.setOnLoadListener(new RefreshLayout.OnLoadListener() {
|
@Override
|
public void onLoad() {
|
page++;
|
getCommentInfo();
|
}
|
});
|
rl_review.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
mList.clear();
|
page = 1;
|
getCommentInfo();
|
}
|
});
|
lv_review = (ListView) findViewById(R.id.lv_review_list);
|
View header = LayoutInflater.from(this).inflate(R.layout.top_goods_review, null);
|
tv_review_num = (TextView) header.findViewById(R.id.tv_review_num);
|
lv_review.addHeaderView(header);
|
iv_review_edit = (ImageView) findViewById(R.id.iv_review_edit);
|
ProgressBar pb = new ProgressBar(this);
|
rl_review.setFooter(pb);
|
tv_top_left.setOnClickListener(this);
|
iv_review_edit.setOnClickListener(this);
|
adapter = new CommentAdapter(this, mList);
|
lv_review.setAdapter(adapter);
|
getCommentInfo();
|
}
|
|
List<GoodsComments> mList = new ArrayList<>();
|
CommentAdapter adapter;
|
|
private void getCommentInfo() {
|
SharedPreferences sp = getSharedPreferences("user", MODE_PRIVATE);
|
String uid = sp.getString("uid", "");
|
String goodsId = getIntent().getStringExtra("goodsId");
|
BeibeiVideoAPI.getWareCommentList(this, uid, goodsId, page + "", new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optBoolean("IsPost")) {
|
Gson gson = new GsonBuilder()
|
.setPrettyPrinting()
|
.setFieldNamingPolicy(
|
FieldNamingPolicy.UPPER_CAMEL_CASE)
|
.excludeFieldsWithoutExposeAnnotation()
|
.create();
|
List<GoodsComments> list = gson.fromJson(jsonObject
|
.getJSONObject("Data").getJSONArray("data")
|
.toString(), new TypeToken<List<GoodsComments>>() {
|
}.getType());
|
if (Integer.parseInt(jsonObject.optJSONObject("Data").optString("count")) > list.size()) {
|
rl_review.isMore = true;
|
} else if (Integer.parseInt(jsonObject.optJSONObject("Data").optString("count")) <= list.size()) {
|
rl_review.isMore = false;
|
}
|
mList.addAll(list);
|
tv_review_num.setText(jsonObject.getJSONObject("Data").optString("count"));
|
adapter.notifyDataSetChanged();
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
rl_review.setLoading(false);
|
rl_review.setRefreshing(false);
|
}
|
});
|
|
}
|
|
GoodsReviewPopupWindow popupwindow;
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
case R.id.iv_review_edit:
|
popupwindow = new GoodsReviewPopupWindow(GoodsReviewActivity.this, "", true, adapter, mList, "我也来说两句...");
|
popupwindow.showPopupWindow(findViewById(R.id.iv_review_edit));
|
break;
|
}
|
}
|
}
|