Android开发:启动quizGameActivity时出现handleWindowVisibility错误求助
问答APP跳转错误与资源未关闭问题
问题描述
开发测试用小型问答APP时,用户选择开始游戏后触发错误:
W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@51185c2
查阅相关线程未解决,清理重建项目后新增错误:
W/System: A resource failed to call close
重启Android Studio无效,问题数据取自自建SQLite数据库。
相关代码
选择关卡页面跳转代码
choiceButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int checkedBtn = rgChoices.getCheckedRadioButtonId(); switch (checkedBtn) { case R.id.rbBeginner: Intent i = new Intent(getApplicationContext(), quizGameActivity.class); startActivity(i); break; default: Toast.makeText(quizSelectionActivity.this, "Please select a level", Toast.LENGTH_SHORT).show(); break; } } });
quizGameActivity代码
package com.example.computerknowledgequiz; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.Button; import android.widget.TextView; import java.util.Collections; import java.util.List; public class quizGameActivity extends AppCompatActivity { private TextView questionText; private Button a1Btn, a2Btn, a3Btn, a4Btn, nextQuestionBtn; private List<Question> questions; private int questionCounter, questionCountTotal; private Question currentQuestion; private boolean answered; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_quiz_game); questionText = findViewById(R.id.questionText); a1Btn = findViewById(R.id.a1Btn); a2Btn = findViewById(R.id.a2Btn); a3Btn = findViewById(R.id.a3Btn); a4Btn = findViewById(R.id.a4Btn); nextQuestionBtn = findViewById(R.id.nextQuestionBtn); QuestionsDatabase questionsDB = new QuestionsDatabase(this); questions = questionsDB.getAllQuestions(); questionCountTotal = questions.size(); Collections.shuffle(questions); moveToNextQuestion(); } private void moveToNextQuestion() { if (questionCounter < questionCountTotal) { currentQuestion = questions.get(questionCounter); questionText.setText(currentQuestion.getQuestion()); a1Btn.setText(currentQuestion.getAnswer1()); a2Btn.setText(currentQuestion.getAnswer2()); a3Btn.setText(currentQuestion.getAnswer3()); a4Btn.setText(currentQuestion.getAnswer4()); questionCounter++; answered = false; } else { finish(); } } }
quizGame.xml布局代码
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:gravity="center" tools:context=".MainActivity" android:id="@+id/relLayout"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/ic_background_image" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center" android:id="@+id/linearLayout"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="100dp" android:fontFamily="@font/comfortaa" android:gravity="center" android:text="This is the question field" android:textColor="@color/white" android:textSize="30sp" android:textStyle="bold" android:id="@+id/questionText"/> <Button android:id="@+id/a1Btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:backgroundTint="@color/black" android:fontFamily="@font/comfortaa" android:text="" /> <Button android:id="@+id/a2Btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:backgroundTint="@color/black" android:fontFamily="@font/comfortaa" android:text="" /> <Button android:id="@+id/a3Btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:backgroundTint="@color/black" android:fontFamily="@font/comfortaa" android:text="" /> <Button android:id="@+id/a4Btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:backgroundTint="@color/black" android:fontFamily="@font/comfortaa" android:text="" /> <Button android:id="@+id/nextQuestionBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="60dp" android:backgroundTint="@color/black" android:fontFamily="@font/comfortaa" android:text="@string/nextBtnEng" /> </LinearLayout> </RelativeLayout>
其他代码可按需提供,寻求解决帮助。
内容的提问来源于stack exchange,提问作者CallMeAdmiral
相关产品推荐
相关产品推荐

