package com.yyquan.jzh.fragment.news;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import com.squareup.picasso.Picasso;
import com.yyquan.jzh.R;
import com.yyquan.jzh.activity.NewsContentActivity;
import com.yyquan.jzh.activity.ShowImageActivity;
import com.yyquan.jzh.adapter.TitleListViewAdapter;
import com.yyquan.jzh.entity.Ip;
import com.yyquan.jzh.entity.News_content;
import com.yyquan.jzh.entity.News_type;
import com.yyquan.jzh.view.DialogView;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import cz.msebera.android.httpclient.Header;
/**
* Created by jzh on 2015/9/28.
*/
public class contentFragment extends Fragment {
View layout_view;
private View view;
//private View layout_view;
private TextView tv_title;
private TextView tv_author;
private TextView tv_time;
private LinearLayout ll_content;
News_content content;
String url = "";
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (view == null) {
DialogView.Initial(getActivity(),"正在加载内容......");
view = inflater.inflate(R.layout.fragment_content, container, false);
content = ((NewsContentActivity) getActivity()).content;
url = ((NewsContentActivity) getActivity()).content_url;
tv_title = (TextView) view.findViewById(R.id.news_content_textView_title);
tv_author = (TextView) view.findViewById(R.id.news_content_textView_author);
tv_time = (TextView) view.findViewById(R.id.news_content_textView_time);
ll_content = (LinearLayout) view.findViewById(R.id.news_content_layout_content);
tv_title.setText(content.getCtitle());
tv_author.setText(content.getCauthor());
tv_time.setText(content.getCtime());
//tv_content.setText(content.getCcontent());
DialogView.show();
getData(content.getCid());
}
return view;
}
/**
* 获取数据
*/
private void getData(int cid) {
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("action", "search_content");
params.put("cid", cid);
client.post(Ip.ip + url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String str = new String(responseBody);
// Toast.makeText(getActivity(), str, Toast.LENGTH_SHORT).show();
if (str != null) {
try {
JSONObject object = new JSONObject(str);
if (object.getString("code").equals("success")) {
content.setCcontent(object.getString("data"));
Message m = Message.obtain(h, 1);
h.sendMessage(m);
}
} catch (JSONException e) {
DialogView.dismiss();
e.printStackTrace();
}
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Toast.makeText(getActivity(), "网络链接失败,请查看网络设置", Toast.LENGTH_SHORT).show();
DialogView.dismiss();
}
});
}
/**
* 业务逻辑处理
*/
private Handler h = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
DialogView.dismiss();
final String[] str = content.getCcontent().split(";;");
for (int i = 0; i < str.length; i++) {
layout_view = LayoutInflater.from(getActivity()).inflate(R.layout.news_content_item, null);
ImageView iv = (ImageView) layout_view.findViewById(R.id.news_content_imageView_item);
TextView tv = (TextView) layout_view.findViewById(R.id.news_content_title_item);
tv.setTextColor(Color.BLACK);
layout_view.setPadding(25, 25, 25, 25);
if (i % 2 == 0) {
tv.setText(str[i]);
} else {
if (str[i].substring(0, 4).equals("http")) {
Picasso.with(getActivity()).load(str[i]).resize(500, 500).centerInside().placeholder(R.mipmap.aio_image_default_round).error(R.mipmap.aio_image_default_round).into(iv);
} else {
Picasso.with(getActivity()).load(Ip.ip + str[i]).resize(500, 500).centerInside().placeholder(R.mipmap.aio_image_default_round).error(R.mipmap.aio_image_default_round).into(iv);
}
}
final int finalI = i;
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), ShowImageActivity.class);
intent.putExtra("path", str[finalI]);
intent.putExtra("type", "news");
startActivity(intent);
}
});
ll_content.addView(layout_view);
}
break;
}
}
};
}