package cn.fanfan.topic;
import org.apache.http.Header;
import org.json.JSONException;
import org.json.JSONObject;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import cn.fanfan.common.AsyncImageGet;
import cn.fanfan.common.Config;
import cn.fanfan.common.FanfanSharedPreferences;
import cn.fanfan.common.GlobalVariables;
import cn.fanfan.main.R;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.webkit.WebView.FindListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
public class TopicDtailFirstFragment extends Fragment {
private String uid;
private ImageView imageView;
private TextView topic_about_topic_tag;
private TextView topic_about_topic_detail;
private TextView topic_about_followers;
private Button topic_about_follow;
private String topic_id;
private int has_focus;
private int isFocus;
private ProgressBar pb_change_follow;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = inflater.inflate(R.layout.topic_about, container, false);
Bundle bundle = getArguments();
topic_id = bundle.getString("topic_id");
isFocus = bundle.getInt("isFocus");
init(view);
getTopicDetailFirst(topic_id);
return view;
}
private void init(View view) {
// TODO Auto-generated method stub
FanfanSharedPreferences sharedPreferences = new FanfanSharedPreferences(
getActivity());
uid = sharedPreferences.getUid("1");
imageView = (ImageView) view.findViewById(R.id.topic_about_avatar1);
topic_about_topic_tag = (TextView) view
.findViewById(R.id.topic_about_topic_tag);
topic_about_topic_detail = (TextView) view
.findViewById(R.id.topic_about_topic_detail);
topic_about_followers = (TextView) view
.findViewById(R.id.topic_about_followers);
topic_about_follow = (Button) view
.findViewById(R.id.topic_about_follow);
pb_change_follow = (ProgressBar) view
.findViewById(R.id.pb_change_follow);
if (isFocus == GlobalVariables.HOT_TOPIC) {
topic_about_follow.setVisibility(View.GONE);
}
topic_about_follow.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
pb_change_follow.setVisibility(View.VISIBLE);
follow("cancle");
}
});
}
public void follow(String type) {
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("uid", uid);
params.put("topic_id", topic_id);
if (has_focus == 1) {
params.put("type", "cancel");
}
String url = Config.getValue("TopicDtailFirst");
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
// TODO Auto-generated method stub
JSONObject jsonObject;
try {
jsonObject = new JSONObject(new String(arg2));
int errno = jsonObject.getInt("errno");
String err = jsonObject.getString("err");
if (errno == 1) {
String rsm = jsonObject.getString("rsm");
if (has_focus == 1) {
has_focus = 0;
} else {
has_focus = 1;
}
setTopicFollow();
} else {
Toast.makeText(getActivity(), err + "�����ԣ�",
Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onFailure(int arg0, Header[] arg1, byte[] arg2,
Throwable arg3) {
// TODO Auto-generated method stub
}
});
}
public void getTopicDetailFirst(String topic_id) {
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("uid", uid);
params.put("topic_id", topic_id);
client.get(Config.getValue("Topic"), params,
new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
// TODO Auto-generated method stub
try {
JSONObject jsonObject = new JSONObject(new String(
arg2));
int errno = jsonObject.getInt("errno");
String err = jsonObject.getString("err");
if (errno == 1) {
String rsm = jsonObject.getString("rsm");
JSONObject jsonObject2 = new JSONObject(rsm);
String topic_title = jsonObject2
.getString("topic_title");
String topic_description = jsonObject2
.getString("topic_description");
String topic_pic = jsonObject2
.getString("topic_pic");
String focus_count = jsonObject2
.getString("focus_count");
has_focus = jsonObject2.getInt("has_focus");
topic_about_topic_tag.setText(topic_title);
topic_about_topic_detail
.setText(topic_description + " ");
topic_about_followers.setText(focus_count
+ "�˹�ע");
if (!topic_pic.equals("")) {
(new AsyncImageGet(Config
.getValue("imageBaseUrl")
+ topic_pic, imageView)).execute();
}
setTopicFollow();
} else {
Toast.makeText(getActivity(), err,
Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onFailure(int arg0, Header[] arg1, byte[] arg2,
Throwable arg3) {
// TODO Auto-generated method stub
}
});
}
private void setTopicFollow() {
pb_change_follow.setVisibility(View.GONE);
if (has_focus == 1) {
topic_about_follow
.setBackgroundResource(R.drawable.btn_silver_normal);
topic_about_follow.setText("ȡ����ע");
topic_about_follow.setTextColor(getActivity().getResources()
.getColor(R.color.text_color_gray));
} else {
topic_about_follow
.setBackgroundResource(R.drawable.btn_green_normal);
topic_about_follow.setText("��ע");
topic_about_follow.setTextColor(getActivity().getResources()
.getColor(R.color.text_color_white));
}
}
}