package com.example.testapp; import android.app.ActivityOptions; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import androidx.cardview.widget.CardView; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.example.testapp.Util.MediaHelper; import com.example.testapp.Util.TimeController; import com.example.testapp.database.Interpretation; import com.example.testapp.database.Sentence; import com.example.testapp.database.Word; import com.example.testapp.entity.ItemWordMeanChoice; import org.litepal.LitePal; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class LearnWordActivity extends AppCompatActivity implements View.OnClickListener{ private int NowId; private RecyclerView recyclerView; private RelativeLayout layoutDelete, layoutVoice, layoutTip; private List wordMeanChoices = new ArrayList<>(); private LinearLayout layoutBottomReview; private LinearLayout layoutBottomLearn; private TextView textWord, textWordPhone; private TextView textLastWord, textLastWordMean; private int[] randomId; private RelativeLayout cardKnow, cardNotKnow, cardDark; private CardView cardTip; private TextView textTip; // 记录上一个单词 public static String lastWord; public static String lastWordMean; private TextView textLearnNum, textReviewNum; private static final String TAG = "LearnWordActivity"; public static boolean needUpdate = true; // 学习时间记录 private long startTime = -1; public static final String MODE_NAME = "learnmode"; public static final int MODE_GENERAL = 1; public static final int MODE_ONCE = 2; private int currentMode; private String tipSentence; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_learn_word); init(); //寻找控件 NowId = 1; setWord(); } private void setWord() { cardTip.setVisibility(View.INVISIBLE); //影藏句子提醒 List words = LitePal.where("wordId = ?", + NowId + "").find(Word.class); Log.i(TAG, String.valueOf(words.toArray().length)); textWord.setText(words.get(0).getWord()); //查询提示的句子 List sentences = LitePal.where("wordId = ?", NowId + "").find(Sentence.class); if (!sentences.isEmpty()) tipSentence = sentences.get(0).getEnSentence(); } private void init() { recyclerView = findViewById(R.id.recyclerview_word_mean); layoutBottomReview = findViewById(R.id.layout_word_bottom); layoutBottomLearn = findViewById(R.id.linear_learn_control); textWord = findViewById(R.id.text_learn_word); textWordPhone = findViewById(R.id.text_learn_word_phone); cardDark = findViewById(R.id.card_dark); cardDark.setOnClickListener(this); cardKnow = findViewById(R.id.card_know); cardKnow.setOnClickListener(this); cardNotKnow = findViewById(R.id.card_no_know); cardNotKnow.setOnClickListener(this); textLearnNum = findViewById(R.id.text_new_num_top); textReviewNum = findViewById(R.id.text_review_num_top); textLastWord = findViewById(R.id.text_word_top); textLastWordMean = findViewById(R.id.text_word_top_mean); layoutTip = findViewById(R.id.layout_word_tip); layoutTip.setOnClickListener(this); layoutDelete = findViewById(R.id.layout_word_delete); layoutDelete.setOnClickListener(this); layoutVoice = findViewById(R.id.layout_word_voice); layoutVoice.setOnClickListener(this); cardTip = findViewById(R.id.card_lw_tip); textTip = findViewById(R.id.text_lw_tip); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.card_dark: if (!TextUtils.isEmpty(tipSentence.trim())) { textTip.setText(tipSentence); cardTip.setVisibility(View.VISIBLE); MediaHelper.play(tipSentence); } else { Toast.makeText(this, "暂无提示", Toast.LENGTH_SHORT).show(); } break; case R.id.card_no_know: WordDetailActivity.wordId = NowId; Intent intent = new Intent(); intent.setClass(LearnWordActivity.this, WordDetailActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(WordDetailActivity.TYPE_NAME, WordDetailActivity.TYPE_LEARN); startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(LearnWordActivity.this).toBundle()); break; case R.id.card_know: NowId++; setWord(); break; case R.id.layout_word_tip: break; case R.id.layout_word_delete: break; case R.id.layout_word_voice: MediaHelper.play(textWord.getText().toString()); break; } } @Override public void onBackPressed() { Intent intent = new Intent(LearnWordActivity.this, MainActivity.class); startActivity(intent); MediaHelper.releasePlayer(); finish(); } @Override protected void onStart() { super.onStart(); } private void showLearn() { recyclerView.setVisibility(View.GONE); layoutBottomReview.setVisibility(View.GONE); layoutBottomLearn.setVisibility(View.VISIBLE); } private void showReview() { recyclerView.setVisibility(View.VISIBLE); layoutBottomReview.setVisibility(View.VISIBLE); layoutBottomLearn.setVisibility(View.GONE); } @Override protected void onDestroy() { super.onDestroy(); } }