package com.yyquan.jzh.activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.amap.api.location.LocationManagerProxy;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import com.yyquan.jzh.R;
import com.yyquan.jzh.adapter.ContentFragmentPageAadpter;
import com.yyquan.jzh.entity.Ip;
import com.yyquan.jzh.entity.News_content;
import com.yyquan.jzh.entity.User;
import com.yyquan.jzh.fragment.news.contentFragment;
import com.yyquan.jzh.fragment.news.pinglunFragment;
import com.yyquan.jzh.location.Location;
import com.yyquan.jzh.view.DialogView;
import org.json.JSONException;
import org.json.JSONObject;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import cn.pedant.SweetAlert.SweetAlertDialog;
import cz.msebera.android.httpclient.Header;
public class NewsContentActivity extends FragmentActivity implements View.OnClickListener, ViewPager.OnPageChangeListener {
private EditText et_pinglun;
private TextView tv_uppinglun;
public TextView tv_pinglun;
private LinearLayout back;
private contentFragment cf;
private pinglunFragment pf;
//定义一个ViewPager容器
private ViewPager mPager;
private ArrayList<Fragment> fragmentsList;
private ContentFragmentPageAadpter mAdapter;
//定义FragmentManager对象
public FragmentManager fManager;
Intent intent;
public User user;
public News_content content;
String url = Ip.ip + "/YfriendService/DoGetPingLun";
InputMethodManager imm;//键盘管理器
Location lt;
public int pl_size;
int page_select;
public String content_url = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
intent = getIntent();
user = (User) intent.getSerializableExtra("user");
content = (News_content) intent.getSerializableExtra("news_content");
content_url = intent.getStringExtra("url");
// Toast.makeText(this,user.getNickname(),Toast.LENGTH_SHORT).show();
setContentView(R.layout.activity_news_content);
initialView();
lt = new Location(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
lt.stopLocation();
}
/**
* 初始化控件
*/
private void initialView() {
initViewPager();
DialogView.Initial(this, "正在评论......");
imm = (InputMethodManager) getSystemService(this.INPUT_METHOD_SERVICE);
mPager = (ViewPager) findViewById(R.id.news_content_vPager);
mPager.setOnPageChangeListener(this);
et_pinglun = (EditText) findViewById(R.id.news_content_editText_pinglun);
tv_pinglun = (TextView) findViewById(R.id.news_content_text_showpinglun);
tv_uppinglun = (TextView) findViewById(R.id.news_content_text_enterpinglun);
tv_pinglun.setText(content.getCpinglun() + "评");
back = (LinearLayout) findViewById(R.id.news_content_back);
back.setOnClickListener(this);
tv_pinglun.setOnClickListener(this);
tv_uppinglun.setOnClickListener(this);
mPager.setAdapter(mAdapter);
mPager.setCurrentItem(0);
}
/**
* 初始化viewpager
*/
private void initViewPager() {
fManager = getSupportFragmentManager();
if (cf == null) {
cf = new contentFragment();
}
if (pf == null) {
pf = new pinglunFragment();
}
fragmentsList = new ArrayList<Fragment>();
fragmentsList.add(cf);
fragmentsList.add(pf);
mAdapter = new ContentFragmentPageAadpter(fManager, fragmentsList);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.news_content_back:
finish();
break;
case R.id.news_content_text_enterpinglun:
upPingLun();
break;
case R.id.news_content_text_showpinglun:
if (page_select == 0) {
mPager.setCurrentItem(1);
} else {
mPager.setCurrentItem(0);
}
break;
}
}
/**
* 提交评论
*/
private void upPingLun() {
String pinglun = et_pinglun.getText().toString();
if (pinglun.equals("")) {
Toast.makeText(NewsContentActivity.this, "请先评论", Toast.LENGTH_SHORT).show();
return;
}
DialogView.show();
tv_uppinglun.setEnabled(false);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String ptime = sdf.format(new Date());
Date date = new Date();
long ptime = date.getTime();
RequestParams params = new RequestParams();
params.put("pcid", content.getCid());
params.put("action", "save");
params.put("user", user.getUser());
params.put("plocation", lt.city);
params.put("ptime", ptime);
params.put("pcontent", pinglun);
AsyncHttpClient client = new AsyncHttpClient();
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
tv_uppinglun.setEnabled(true);
DialogView.dismiss();
String str = new String(responseBody);
if (str != null) {
try {
JSONObject object = new JSONObject(str);
if (object.getString("code").equals("success")) {
Toast.makeText(NewsContentActivity.this, "评论成功", Toast.LENGTH_SHORT).show();
et_pinglun.setText("");
if (imm.isActive()) {//关闭键盘
imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS);
}
pf.refreshData();
//更新评论内容
} else {
Toast.makeText(NewsContentActivity.this, "评论失败,请重试", Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
tv_uppinglun.setEnabled(true);
DialogView.dismiss();
e.printStackTrace();
}
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
tv_uppinglun.setEnabled(true);
DialogView.dismiss();
Toast.makeText(NewsContentActivity.this, "网络连接失败,请查看网络设置", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
page_select = position;
if (page_select == 0) {
tv_pinglun.setText(pl_size + "评");
} else {
tv_pinglun.setText("原文");
}
}
@Override
public void onPageScrollStateChanged(int state) {
if (state == 1) {
int i = mPager.getCurrentItem();
mPager.setCurrentItem(i);
}
}
}