package com.ztspeech.simutalk2.qa;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TabHost.TabSpec;
import android.widget.TextView;
import com.ztspeech.simutalk2.R;
import com.ztspeech.simutalk2.data.AskTaskList;
import com.ztspeech.simutalk2.data.GlobalData;
import com.ztspeech.simutalk2.data.MsgGroupList;
public class InteractionActivity extends UpdateBaseTabActivity implements OnTabChangeListener, OnClickListener {
private TabHost mTabHost = null;
private TabSpec mTabSpecMsg = null;
private TabSpec mTabSpecLinkman = null;
private TabSpec mTabSpecQuestions = null;
private ImageButton[] mTabBtns = new ImageButton[3];
private TextView mtvTaskCount;
private TextView mtvQaNewsCount;
private TextView mtvFriendNewsCount;
private AskTaskList mTaskList = GlobalData.getAskInstance();
private MsgGroupList mMsgGroupList = MsgGroupList.getInstance();
public static boolean isQANewsUpdate = true;
public static boolean isFriendNewsUpdate = true;
public static boolean isTaskListUpdate = true;
private static InteractionActivity mInstance = null;
public static InteractionActivity getInstance() {
return mInstance;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_interaction);
// getWindow().setFormat(PixelFormat.RGBA_8888);
mInstance = this;
mTabBtns[1] = (ImageButton) findViewById(R.id.btnUser);
mTabBtns[0] = (ImageButton) findViewById(R.id.btnQA);
mTabBtns[2] = (ImageButton) findViewById(R.id.btnLinkman);
mtvTaskCount = (TextView) findViewById(R.id.tvTaskCount);
mtvQaNewsCount = (TextView) findViewById(R.id.tvQANewsCount);
mtvFriendNewsCount = (TextView) findViewById(R.id.tvFriendNewsCount);
mTabBtns[0].setOnClickListener(this);
mTabBtns[1].setOnClickListener(this);
mTabBtns[2].setOnClickListener(this);
mtvTaskCount.setVisibility(View.INVISIBLE);
mtvQaNewsCount.setVisibility(View.INVISIBLE);
mtvFriendNewsCount.setVisibility(View.INVISIBLE);
initView();
}
private void initView() {
mTabHost = this.getTabHost();
// �½�һ��newTabSpec,���ñ�ǩ��ͼ��(setIndicator),��������(setContent)
mTabSpecMsg = mTabHost.newTabSpec("Msg").setIndicator("�ҵ���Ϣ", null)
.setContent(new Intent(this, UserStateActivity.class));
mTabSpecQuestions = mTabHost.newTabSpec("question").setIndicator("�ʴ��¼", null)
.setContent(new Intent(this, MsgGroupListActivity.class));
mTabSpecLinkman = mTabHost.newTabSpec("Friend").setIndicator("��ϵ��", null)
.setContent(new Intent(this, FriendActivity.class));
mTabHost.addTab(mTabSpecQuestions);
mTabHost.addTab(mTabSpecMsg);
mTabHost.addTab(mTabSpecLinkman);
// ���õ�ǰ��ʵ��һ����ǩ
mTabHost.setOnTabChangedListener(this);
mTabHost.setCurrentTab(1); // 0Ϊ��ǩID
// ��ǩ�л�������setOnTabChangedListener
onTabChanged(null);
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
int nCount = mTabBtns.length;
for (int i = 0; i < nCount; i++) {
ImageButton btn = mTabBtns[i];
if (arg0 == btn) {
mTabHost.setCurrentTab(i);
updateState(true);
break;
}
}
}
/**
* ��ʾ��������
*
* @param count
*/
public void showTaskCount(int count) {
if (mTabHost.getCurrentTab() == 1) {
count = 0;
}
if (count > 0) {
mtvTaskCount.setVisibility(View.VISIBLE);
mtvTaskCount.setText(count + "");
} else {
mtvTaskCount.setVisibility(View.INVISIBLE);
}
}
/**
* ��ʾ������Ϣ����
*
* @param count
*/
private void showNewsCount(int count) {
if (mTabHost.getCurrentTab() == 0) {
count = 0;
}
if (count > 0) {
mtvQaNewsCount.setVisibility(View.VISIBLE);
mtvQaNewsCount.setText(count + "");
} else {
mtvQaNewsCount.setVisibility(View.INVISIBLE);
}
}
/**
* ��ʾ����������Ϣ����
*
* @param count
*/
private void showFriendNewsCount(int count) {
if (mTabHost.getCurrentTab() == 2) {
count = 0;
}
if (count > 0) {
mtvFriendNewsCount.setVisibility(View.VISIBLE);
mtvFriendNewsCount.setText(count + "");
} else {
mtvFriendNewsCount.setVisibility(View.INVISIBLE);
}
}
public void onTabChanged(String arg0) {
int tab = mTabHost.getCurrentTab();
int nCount = mTabBtns.length;
for (int i = 0; i < nCount; i++) {
ImageButton btn = mTabBtns[i];
if (tab == i) {
btn.setEnabled(false);
// btn.setTypeface(Typeface.DEFAULT_BOLD, Typeface.BOLD);
// btn.setTextSize(16);
// btn.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
// btn.getPaint().setAntiAlias(true);// �����
} else {
btn.setEnabled(true);
// btn.setTypeface(Typeface.DEFAULT, Typeface.NORMAL);
// btn.getPaint().setFlags(Paint.ANTI_ALIAS_FLAG);
// btn.setTextSize(14);
}
}
}
private void updateState(boolean bUpdate) {
if (isQANewsUpdate || bUpdate) {
isQANewsUpdate = false;
showNewsCount(mMsgGroupList.getNewsQACount());
showFriendNewsCount(mMsgGroupList.getFriendNewsCount());
}
if (isTaskListUpdate || bUpdate) {
isTaskListUpdate = false;
int nCount = 0;
nCount = mTaskList.getTaskCount();
showTaskCount(nCount);
}
}
@Override
public void updateMesage() {
updateState(false);
}
}