Java Android应用程序在启动bufferedRead后停止工作

Java Android应用程序在启动bufferedRead后停止工作,java,android,Java,Android,我对Android Java编程有一些问题 这就是我的情况: 我正在尝试从文本文件加载文本行 我将把每一行作为一个单独的字符串变量 保存在ArrayList中 我在运行应用程序方面没有问题,但是当我 按下将向方法发送变量的按钮,其中 应用程序将使用将每一行作为单独的问题 按下手机上的按钮后,整个屏幕都冻结了 我不知道如何解决这个问题。此外,我无法从logcat中获得错误,非常奇怪 我是一名编程新手,但我尽了最大努力,所以非常感谢您的帮助。请询问您是否不理解或需要更多信息,和平。我已经修复了我

我对Android Java编程有一些问题

这就是我的情况:

  • 我正在尝试从文本文件加载文本行
  • 我将把每一行作为一个单独的字符串变量 保存在
    ArrayList
  • 我在运行应用程序方面没有问题,但是当我 按下将向方法发送变量的按钮,其中 应用程序将使用将每一行作为单独的问题
  • 按下手机上的按钮后,整个屏幕都冻结了
我不知道如何解决这个问题。此外,我无法从logcat中获得错误,非常奇怪

我是一名编程新手,但我尽了最大努力,所以非常感谢您的帮助。请询问您是否不理解或需要更多信息,和平。我已经修复了我得到的解决方案,但是代码仍然存在问题,我不知道如何修复它

代码如下:

   public void levelOne(View v)throws IOException{
    Intent intent = new Intent(this, pageBeforeAction.class);
    Button buttond = (Button) findViewById(R.id.buttonOne);
    createQuestions("hogskoleprovet.txt");
    startActivity(intent);
}

public void levelTwo(View v) throws IOException{
    Intent intent = new Intent(this, pageBeforeAction.class);
    Button buttonC = (Button) findViewById(R.id.buttonTwo);
    createQuestions("hogskoleprovet.txt");
    startActivity(intent);

}

public void createQuestions(String hogskoleprovet) throws IOException{


    InputStream iS = getResources().getAssets().open(hogskoleprovet);
    BufferedReader reader = new BufferedReader(new InputStreamReader(iS));

    String question = reader.readLine();
    String answer = reader.readLine();
    String answerOne = reader.readLine();
    String answerTwo = reader.readLine();
    String answerThree = reader.readLine();
    String answerFour = reader.readLine();       

    while(reader != null){
        question = reader.readLine();
        answer = reader.readLine();
        answerOne = reader.readLine();
        answerTwo = reader.readLine();
        answerThree = reader.readLine();
        answerFour = reader.readLine();
        Question q = new Question (question, answer, answerOne, answerTwo, answerThree, answerFour);
        mQuestions.add(q);    break;        }reader.close();    }
这是我的logcat的输出:

 26837-26837/com.example.arnpet.ultimatehogskoleprovet E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.arnpet.ultimatehogskoleprovet, PID: 26837
java.lang.IllegalStateException: Could not execute method of the activity
        at android.view.View$1.onClick(View.java:3969)
        at android.view.View.performClick(View.java:4637)
        at android.view.View$PerformClick.run(View.java:19422)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5479)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at android.view.View$1.onClick(View.java:3964) at android.view.View.performClick(View.java:4637)
           
你陷入了一个无限循环,这里:

while (reader != null)

reader
的值在任何地方都不会设置为null,因此您会陷入循环。

在执行
BufferedReader reader=new BufferedReader(new InputStreamReader(is))后,从代码中您需要输入问题、答案、答案一、答案二、答案三和答案四的值。你在这么做吗?我想我在这么做。这些值将根据数组确定。现在我终于从日志中得到了错误:错误是什么???你能发布日志04-18 19:12:22.933 20787-20787/?D/QSEECOMAPI:﹕ QSEECom_get_handle sb_length=0x104e80 04-18 19:12:22.933 20787-20787/?E/QSEECOMAPI:﹕ 错误::无法打开/dev/qseecom设备。请编辑问题并发布完整的日志。但是我已经将读取器设置为不等于null,那么为什么它应该是一个无限循环呢?