package com.ztspeech.simutalk2.dictionary.adapter; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.ztspeech.recognizer.speak.OnTTSPlayerListener; import com.ztspeech.simutalk2.R; import com.ztspeech.simutalk2.data.TextPlayer; import com.ztspeech.simutalk2.data.UserInfo; import com.ztspeech.simutalk2.dictionary.entity.Categroy; import com.ztspeech.simutalk2.dictionary.entity.Child; import com.ztspeech.simutalk2.dictionary.entity.KouyiRecord; import com.ztspeech.simutalk2.dictionary.util.PublicArithmetic; import com.ztspeech.simutalk2.dictionary.util.Util; import com.ztspeech.simutalk2.qa.WaitingActivity; public class KouyiRecordLvItem1 extends RelativeLayout implements OnClickListener { private BaseLvAdapter blv; private KouyiRecord kouyi; private Child child; private Context context; private Categroy categroy; public TextView tvEnglish; public TextView tvChinese; public TextView tvCategroy; public TextView tvChild; public ImageButton btnMore1; public ImageButton btnMore2; public ImageButton btnSpeak1; public ImageButton btnSpeak2; public LinearLayout llMiddle1; public LinearLayout llMiddle3; private UserInfo mUser = UserInfo.getInstanse(); private Integer chOrEn = 0; private static Integer lastWord = 0; private static boolean lastCN; public void setData(KouyiRecord data, Categroy categroy, Child child, Context context, Integer chOrEn) { kouyi = data; this.categroy = categroy; this.chOrEn = chOrEn; this.context = context; tvEnglish.setText(kouyi.getSaid()); tvChinese.setText(kouyi.getTranslated()); // if(chOrEn == 0){ // // } // else { // tvEnglish.setText(word.getEnglish()); // tvChinese.setText(word.getChinese()); // } // tvCategroy.setText(categroy.getCategroyName()); // tvChild.setText(child.getChildName()); tvEnglish.setOnClickListener(this); tvChinese.setOnClickListener(this); tvEnglish.setTextSize(mUser.getFontSize()); tvChinese.setTextSize(mUser.getFontSize() - 2); btnMore1.setOnClickListener(this); btnMore2.setOnClickListener(this); btnSpeak1.setOnClickListener(this); /** * ������� */ // if( lastWord == kouyi.getRecordId()) { // if(lastCN){ // llMiddle1.setBackgroundResource(R.drawable.trans_font_bg_ce_2more_up_normal); // llMiddle3.setBackgroundResource(R.drawable.trans_font_bg_ce_2more_down_normal); // }else{ // llMiddle3.setBackgroundResource(R.drawable.trans_font_bg_ce_2more_down_normal); // llMiddle1.setBackgroundResource(R.drawable.trans_font_bg_ce_2more_up_normal); // } // // // if(chOrEn == 0){ // // // llMiddle1.setBackgroundResource(R.drawable.no2_searchresult_middle1); // // llMiddle3.setBackgroundResource(0); // // } // // else { // // // llMiddle3.setBackgroundResource(R.drawable.no2_searchresult_middle1); // // // // llMiddle1.setBackgroundResource(0); // // } // } // else { // llMiddle1.setBackgroundResource(R.drawable.trans_font_bg_ce_2more_up_normal); // llMiddle3.setBackgroundResource(R.drawable.trans_font_bg_ce_2more_down_normal); // } setBg(true); } public KouyiRecordLvItem1(Context context, BaseLvAdapter blv) { super(context); this.context = context; this.blv = blv; // ���벼�� LayoutInflater.from(context).inflate(R.layout.listview_words_detailitem, this, true); tvEnglish = (TextView) findViewById(R.id.tvEnglish); tvChinese = (TextView) findViewById(R.id.tvChinese); tvCategroy = (TextView) findViewById(R.id.tvCategroy); tvChild = (TextView) findViewById(R.id.tvChild); btnMore1 = (ImageButton) findViewById(R.id.btnMore1); btnSpeak1 = (ImageButton) findViewById(R.id.btnSpeak1); btnMore2 = (ImageButton) findViewById(R.id.btnMore2); btnSpeak2 = (ImageButton) findViewById(R.id.btnSpeak2); llMiddle1 = (LinearLayout) findViewById(R.id.llMiddle1); llMiddle3 = (LinearLayout) findViewById(R.id.llMiddle3); } private OnTTSPlayerListener onTTSPlayerListener = new OnTTSPlayerListener() { @Override public void onTtsPlayStart() { // TODO Auto-generated method stub } @Override public void onTtsPlayLoadDataStart() { WaitingActivity.waiting((Activity) context, 0); } @Override public void onTtsPlayLoadDataEnd() { WaitingActivity.stop(); } @Override public void onTtsPlayError(int arg0) { // TODO Auto-generated method stub } @Override public void onTtsPlayEnd() { } }; public void speakStr(String str) { int result = new PublicArithmetic().isWhat(str); switch (result) { case 0: case 3: TextPlayer.getInstance().setPopContext(context); if (TextPlayer.getInstance().isPlaying()) { TextPlayer.getInstance().stop(); } else { TextPlayer.getInstance().playChinese(str); } // if (false == mLocaleTTS.playChinese(str)) { // mTtsPlayer = new TTSPlayer(context, onTTSPlayerListener); // // mTtsPlayer.setLanguageToChinese(); // mTtsPlayer.setGender(TTSDefine.GENDER_MALE); // mTtsPlayer.play(str); // // } break; case 1: case 2: TextPlayer.getInstance().setPopContext(context); if (TextPlayer.getInstance().isPlaying()) { TextPlayer.getInstance().stop(); } else { TextPlayer.getInstance().playEnglish(str); } // if (false == mLocaleTTS.playEnglish(str)) { // mTtsPlayer = new TTSPlayer(context, onTTSPlayerListener); // mTtsPlayer.setLanguageToEnglish(); // mTtsPlayer.setGender(TTSDefine.GENDER_MALE); // mTtsPlayer.play(str); // } break; } } @Override public void onClick(View v) { // TODO Auto-generated method stub if (v == tvEnglish) { speakStr(kouyi.getSaid()); // if (chOrEn == 0) { // // } else { // speakStr(word.getChinese()); // // } lastWord = kouyi.getRecordId(); lastCN = true; } else if (v == tvChinese) { speakStr(kouyi.getTranslated()); // if (chOrEn == 0) { // speakStr(word.getChinese()); // } else { // speakStr(word.getEnglish()); // // } lastWord = kouyi.getRecordId(); lastCN = false; } else if (v == btnMore1) { Intent intent = new Intent(Util.ACTION_POMENU); intent.putExtra("button", 1); intent.putExtra("kouyi", kouyi); context.sendBroadcast(intent); } else if (v == btnMore2) { Intent intent = new Intent(Util.ACTION_POMENU); intent.putExtra("button", 1); intent.putExtra("kouyi", kouyi); context.sendBroadcast(intent); } blv.notifyDataSetChanged(); } public boolean isExistTrans() { if (kouyi.getTranslated() != null) { if (kouyi.getTranslated().length() > 0) { return true; } } return false; } public void setBg(boolean focus) { int[] bgid = getBgResourceByType(kouyi.getType()); if (isExistTrans()) { llMiddle1.setBackgroundResource(bgid[3]); llMiddle3.setBackgroundResource(bgid[4]); llMiddle1.setVisibility(VISIBLE); llMiddle3.setVisibility(VISIBLE); } else { llMiddle1.setBackgroundResource(bgid[5]); llMiddle1.setVisibility(VISIBLE); llMiddle3.setVisibility(GONE); } } public int[] getBgResourceByType(String type) { int[] bgid = new int[6]; if (UserInfo.S2T_CH2EN.equals(type)) { bgid[0] = R.drawable.trans_font_bg_ce_2more_up_click; bgid[1] = R.drawable.trans_font_bg_ce_2more_down_click; bgid[2] = R.drawable.trans_font_bg_ce_1_click; bgid[3] = R.drawable.trans_font_bg_ce_2more_up_normal; bgid[4] = R.drawable.trans_font_bg_ce_2more_down_normal; bgid[5] = R.drawable.trans_font_bg_ce_1_normal; } else if (UserInfo.S2T_EN2CH.equals(type)) { bgid[0] = R.drawable.trans_font_bg_ec_2more_up_click; bgid[1] = R.drawable.trans_font_bg_ec_2more_down_click; bgid[2] = R.drawable.trans_font_bg_ec_1_click; bgid[3] = R.drawable.trans_font_bg_ec_2more_up_normal; bgid[4] = R.drawable.trans_font_bg_ec_2more_down_normal; bgid[5] = R.drawable.trans_font_bg_ec_1_normal; } else if (UserInfo.S2T_LETTER.equals(type)) { bgid[0] = R.drawable.trans_font_bg_zimu_2more_up_click; bgid[1] = R.drawable.trans_font_bg_zimu_2more_down_click; bgid[2] = R.drawable.trans_font_bg_zimu_1_click; bgid[3] = R.drawable.trans_font_bg_zimu_2more_up_normal; bgid[4] = R.drawable.trans_font_bg_zimu_2more_down_normal; bgid[5] = R.drawable.trans_font_bg_zimu_1_normal; } else { bgid[0] = R.drawable.trans_font_bg_ce_2more_up_click; bgid[1] = R.drawable.trans_font_bg_ce_2more_down_click; bgid[2] = R.drawable.trans_font_bg_ce_1_click; bgid[3] = R.drawable.trans_font_bg_ce_2more_up_normal; bgid[4] = R.drawable.trans_font_bg_ce_2more_down_normal; bgid[5] = R.drawable.trans_font_bg_ce_1_normal; } return bgid; } }