Java Android Toast Maketext函数进入错误的循环器

Java Android Toast Maketext函数进入错误的循环器,java,android,toast,Java,Android,Toast,我的应用程序工作不正常。当我点击一个按钮时,我会自动注销。这里有源代码 protected void previewStack() { this.currentSubeditor.dataFromUIFields(); Toast.makeText(getApplicationContext(), "Generating preview..", Toast.LENGTH_SHORT).show(); updatePostButtonState()

我的应用程序工作不正常。当我点击一个按钮时,我会自动注销。这里有源代码

protected void previewStack() {
        this.currentSubeditor.dataFromUIFields();

        Toast.makeText(getApplicationContext(), "Generating preview..", Toast.LENGTH_SHORT).show();
        updatePostButtonState();
        Hype4DController controller = Hype4DController.getInstance();
        controller.previewStack(getApplicationContext(), this, this.stack);
    }
所以我在Toast.maketext()上进行了调试,结果显示

    public Looper getMainLooper() {
        return mBase.getMainLooper();
    }

并警告此循环不正确。 我认为这是因为Toast maketext()函数。因为其他功能工作正常。
因此,任何人都可以帮助我。

您似乎在另一个线程中运行它,您必须在主线程中执行Toast,您可以尝试以下操作:

 activity.runOnUiThread(new Runnable() {
        public void run() {
           Toast.makeText(getApplicationContext(), "Generating preview..", Toast.LENGTH_SHORT).show();
        }
 });

似乎您在另一个线程中运行它,您必须在主线程中执行Toast,您可以尝试以下操作:

 activity.runOnUiThread(new Runnable() {
        public void run() {
           Toast.makeText(getApplicationContext(), "Generating preview..", Toast.LENGTH_SHORT).show();
        }
 });
Toast.makeText()
只能从主/UI线程调用:

 protected void previewStack() {
 this.currentSubeditor.dataFromUIFields();


 runOnUiThread(new Runnable() {
              public void run() {
                 Toast.makeText(getApplicationContext(), "Generatingpreview..",Toast.LENGTH_SHORT).show();
              }
         });

  updatePostButtonState();
  Hype4DController controller = Hype4DController.getInstance();
  controller.previewStack(getApplicationContext(), this, this.stack);


        }
Toast.makeText()
只能从主/UI线程调用:

 protected void previewStack() {
 this.currentSubeditor.dataFromUIFields();


 runOnUiThread(new Runnable() {
              public void run() {
                 Toast.makeText(getApplicationContext(), "Generatingpreview..",Toast.LENGTH_SHORT).show();
              }
         });

  updatePostButtonState();
  Hype4DController controller = Hype4DController.getInstance();
  controller.previewStack(getApplicationContext(), this, this.stack);


        }

嗨,谢谢你的回复。但对我来说“无法解析符号‘活动’”。如果您需要一个活动来使用runOnUiThread,请提供更多帮助。如果您正在活动中,您可以删除活动词,否则您需要传递i,谢谢您的回复。但对我来说“无法解析符号‘活动’”。如果您需要一个活动来使用runOnUiThread,请提供更多帮助。如果您正在活动中,您可以删除活动字,否则您需要传递它