package com.hua.goddess.fragment;
import java.util.ArrayList;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.hua.goddess.R;
import com.hua.goddess.base.communicate.GetCommentsInterface;
import com.hua.goddess.utils.HtmlResolving;
import com.hua.goddess.vo.CommentVO;
import com.umeng.analytics.MobclickAgent;
public class CommentsFragment extends Fragment {
private String newsId;
private ArrayList<CommentVO> comment_list;
private Handler handler = new Handler();
private ListView listView;
private CommentsAdapter adapter;
private LayoutInflater inflater;
private View rootView;
public CommentsFragment(String newsId) {
this.newsId = newsId;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
this.inflater = inflater;
rootView = inflater.inflate(R.layout.fragment_comments, container,
false);
new CommentsDataThread().start();
return rootView;
}
private void initView() {
listView = (ListView) rootView.findViewById(R.id.comments_listview);
((TextView)rootView.findViewById(R.id.no_comment)).setVisibility(View.GONE);
adapter = new CommentsAdapter();
listView.setAdapter(adapter);
}
class CommentsDataThread extends Thread {
@Override
public void run() {
try {
String comments = GetCommentsInterface.getNetData(newsId);
HtmlResolving hResolving = new HtmlResolving();
comment_list = hResolving.getCommentContent(comments);
if (comment_list != null && comment_list.size() > 0) {
handler.post(new Runnable() {
@Override
public void run() {
initView();
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void onResume() {
super.onResume();
MobclickAgent.onPageStart("MainScreen"); //统计页面
}
public void onPause() {
super.onPause();
MobclickAgent.onPageEnd("MainScreen");
}
public class CommentsAdapter extends BaseAdapter {
@Override
public int getCount() {
return comment_list.size();
}
@Override
public Object getItem(int position) {
return comment_list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Holder holder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_comments, null);
holder = new Holder();
holder.player = (TextView) convertView
.findViewById(R.id.item_comment_player);
holder.body = (TextView) convertView
.findViewById(R.id.item_comment_body);
holder.createTime = (TextView) convertView
.findViewById(R.id.item_comment_create_time);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
Typeface typeface = Typeface.createFromAsset(getActivity()
.getAssets(), "font/Roboto-Light.ttf");
holder.player.setText(comment_list.get(position).getName());
holder.player.setTypeface(typeface);
holder.body.setText(Html.fromHtml(comment_list.get(position)
.getContent()));
holder.body.setTypeface(typeface);
holder.createTime.setText(comment_list.get(position).getTime());
return convertView;
}
public class Holder {
TextView player;
TextView body;
TextView createTime;
}
}
}