我在倒数计时器中有一个问题,我的应用程序包含了物品的recyclerview,我正在尝试进行应用测验,所以当我点击recyclerview中的项目时,它开始第一个活动,这是第一个问题,倒数计时器,当我单击按钮从当前活动移动到其工作的另一个活动。但是,当我点击后退按钮回收其他4个问题时,他们将逐步与倒数计时器共进午餐。
first_five_Questions_questions_1
private RadioGroup radioGroup;
private RadioButton radioButton;
private Button btnDisplay;
private TextView mTextField;
private CountDownTimer myCount;
public long val;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_five_questions_q1);
addListenerOnButton();
}
public void addListenerOnButton() {
radioGroup = (RadioGroup) findViewById(R.id.Rd_Group_first_five_Questions_q1);
btnDisplay = (Button) findViewById(R.id.Button_first_Five_Questions_q1);
btnDisplay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// get selected radio button from radioGroup
int selectedId =radioGroup.getCheckedRadioButtonId();
myCount.cancel();
// find the radiobutton by returned id
radioButton = (RadioButton) findViewById(selectedId);
if(selectedId==R.id.Rd_btn_three__first_five_questions_q1)
{
val++;
Intent intent = new Intent( first_five_Questions_questions_1.this, first_five_Questions_questions_2.class);
intent.putExtra("key", val);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
else
{
//When user Choose Wrong choice
Intent intent = new Intent( first_five_Questions_questions_1.this, first_five_Questions_questions_2.class);
intent.putExtra("key", val);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
}
});
myCount=new CountDownTimer(16000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField = (TextView) findViewById(R.id.TimerClock_first_Five_Questions_Q1);
mTextField.setText("Time left:"+millisUntilFinished / 1000);
if(millisUntilFinished / 1000 == 5)
{
mTextField.setTextColor(Color.RED);
}
}
public void onFinish() {
// When time finish go for mainActivity
Intent intent = new Intent( first_five_Questions_questions_1.this, first_five_Questions_questions_2.class);
intent.putExtra("key", val);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
cancel();
finish();
}
}.start();
}}
CustomRecyclerAdapterTests
private Context context;
private List<TestsUtils> TestsUTils;
public CustomRecyclerAdapterTests(Context context, List testutils) {
this.context = context;
this.TestsUTils = testutils;
}
@Override
public CustomRecyclerAdapterTests.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.single_list_item_tests, parent, false);
CustomRecyclerAdapterTests.ViewHolder viewHolder = new CustomRecyclerAdapterTests.ViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(CustomRecyclerAdapterTests.ViewHolder holder, int position) {
holder.itemView.setTag(TestsUTils.get(position));
TestsUtils pu = TestsUTils.get(position);
holder.Subject_Title.setText(pu.GetTestName());
holder.Subject_Description.setText(pu.GetTestSubject());
}
@Override
public int getItemCount() {
return TestsUTils.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView Subject_Title;
public TextView Subject_Description;
public ViewHolder(View itemView) {
super(itemView);
Subject_Title = (TextView) itemView.findViewById(R.id.Title_Single_List_Item_Tests);
Subject_Description = (TextView) itemView.findViewById(R.id.Subject_Single_List_Item_Tests);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (getPosition()) {
case 0:
TestsUtils obj1 = (TestsUtils) view.getTag();
Toast.makeText(view.getContext(), "Test-One", Toast.LENGTH_SHORT).show();
Intent intentone = new Intent(context, com.example.computer.policeproject.Questions_package.First_Five_Questions.first_five_Questions_questions_1.class);
context.startActivity(intentone);
break;
case 1:
TestsUtils obj2 = (TestsUtils) view.getTag();
Toast.makeText(view.getContext(), "Test-One", Toast.LENGTH_SHORT).show();
Intent intenttwo = new Intent(context, com.example.computer.policeproject.Questions_package.Second_Five_Questions.second_five_questions_questions_1.class);
context.startActivity(intenttwo);
break;
}
}
});
}
}
}
if(selectedId==R.id.Rd_btn_three__first_five_questions_q1)
{
val++;
Intent intent = new Intent( first_five_Questions_questions_1.this, first_five_Questions_questions_2.class);
intent.putExtra("key", val);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
else
{
//When user Choose Wrong choice
Intent intent = new Intent( first_five_Questions_questions_1.this, first_five_Questions_questions_2.class);
intent.putExtra("key", val);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
答案 0 :(得分:0)
在您的活动中添加此方法
@Override
public void onBackPressed() {
myCount.cancel();
}
这是修改后的问题活动类。看看我粘贴onBackPressed()方法的位置,复制你所有的问题活动。
private RadioGroup radioGroup;
private RadioButton radioButton;
private Button btnDisplay;
private TextView mTextField;
private CountDownTimer myCount;
public long val;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_five_questions_q1);
addListenerOnButton();
}
public void addListenerOnButton() {
radioGroup = (RadioGroup) findViewById(R.id.Rd_Group_first_five_Questions_q1);
btnDisplay = (Button) findViewById(R.id.Button_first_Five_Questions_q1);
btnDisplay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// get selected radio button from radioGroup
int selectedId =radioGroup.getCheckedRadioButtonId();
myCount.cancel();
// find the radiobutton by returned id
radioButton = (RadioButton) findViewById(selectedId);
if(selectedId==R.id.Rd_btn_three__first_five_questions_q1)
{
val++;
Intent intent = new Intent( first_five_Questions_questions_1.this, first_five_Questions_questions_2.class);
intent.putExtra("key", val);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
else
{
//When user Choose Wrong choice
Intent intent = new Intent( first_five_Questions_questions_1.this, first_five_Questions_questions_2.class);
intent.putExtra("key", val);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
}
});
myCount=new CountDownTimer(16000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField = (TextView) findViewById(R.id.TimerClock_first_Five_Questions_Q1);
mTextField.setText("Time left:"+millisUntilFinished / 1000);
if(millisUntilFinished / 1000 == 5)
{
mTextField.setTextColor(Color.RED);
}
}
public void onFinish() {
// When time finish go for mainActivity
Intent intent = new Intent( first_five_Questions_questions_1.this, first_five_Questions_questions_2.class);
intent.putExtra("key", val);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
cancel();
finish();
}
}.start();
}
@Override
public void onBackPressed() {
super.onBackPressed();
myCount.cancel();
}
}