当前位置: 首页 > 知识库问答 >
问题:

无法添加窗口--令牌null无效;是您的活动运行错误。我该怎么解决呢?

冉伯寅
2023-03-14

我有一个登录屏幕。当用户登录时切换到HomeScreenActive。我想在活动打开时显示关于用户信息的弹出窗口消息。但是我得到一个“无法添加窗口——令牌null无效;您的活动正在运行吗?”错误。我有一个名为popup_user_information的弹出布局。我正在为这个项目使用视图绑定。我如何解决它?

package com.tcoding.instagramloginscreen

import android.annotation.SuppressLint
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.Display
import android.view.Gravity
import android.widget.PopupWindow
import android.widget.Toast
import androidx.core.hardware.display.DisplayManagerCompat
import androidx.viewpager.widget.ViewPager
import com.tcoding.instagramloginscreen.databinding.ActivityHomePageBinding
import com.tcoding.instagramloginscreen.databinding.PopupUserInformationBinding

class HomePageActivity : AppCompatActivity() {

    lateinit var binding: ActivityHomePageBinding
    lateinit var bindingPopup: PopupUserInformationBinding


    @SuppressLint("SetTextI18n")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityHomePageBinding.inflate(layoutInflater)
        setContentView(binding.root)

        val username = intent.getStringExtra("username")
        val password = intent.getStringExtra("password")
        binding.tvUsername.text = binding.tvUsername.text.toString() + username
        binding.tvPassword.text = binding.tvPassword.text.toString() + password

        binding.btnExit.setOnClickListener{
            val intent = Intent(this, MainActivity::class.java)
            intent.putExtra("username", username)
            intent.putExtra("password", password)
            setResult(RESULT_OK)
            finish()

        }

        popUp()


    }


    fun popUp()
    {
        val username = intent.getStringExtra("username")
        val password = intent.getStringExtra("password")
        bindingPopup = PopupUserInformationBinding.inflate(layoutInflater)
        val popup = PopupWindow(bindingPopup.root, ViewPager.LayoutParams.MATCH_PARENT, ViewPager.LayoutParams.WRAP_CONTENT)


        popup.showAtLocation(bindingPopup.root, Gravity.BOTTOM, 0,0)

        bindingPopup.usernameInfo.text = username
        bindingPopup.passwordInfo.setText(password)

        bindingPopup.btnKaydet.setOnClickListener {
            Toast.makeText(this,"Clicked save",Toast.LENGTH_SHORT).show()
            popup.dismiss()
        }
        bindingPopup.btnNotnow.setOnClickListener {
            Toast.makeText(this,"Clicked Not now",Toast.LENGTH_SHORT).show()
            popup.dismiss()
        }
    }
}

共有1个答案

欧阳勇
2023-03-14

您试图过早显示弹出窗口。OnCreate上的视图尚未创建,请尝试将弹出窗口()移动到OnViewCreated()上

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    popup()
}

或者使用视图。post,使其进入主线程队列,并在其他挂起任务完成后执行

override fun onCreate(savedInstanceState: Bundle?) {
   ...
   binding.root.post {
     popup() 
   }
}
 类似资料:
  • 在AS400中,我如何对字段执行算术运算(如,-)。 对于查询,在德语中获取以下错误msg"[IBM][System i Access ODBC-Treiber][DB2 für i5/OS]SQL0104-Token 有人能告诉我我的sql查询有什么问题吗?

  • 我试着用twitter4j连接到推特。但是它显示了标题所说的错误。 下面是日志: 错误行是 我尝试了无法添加窗口令牌android.os.BinderProxy无效;您的活动正在运行吗?介绍。但是它对我的Android版本来说太旧了。

  • 问题内容: 我目前正在练习使用Javascript / Dojo。但是,我有一个无法解决的错误: 未捕获的SyntaxError:意外令牌o 我已快速摘录了我的问题: 它专门针对以下方面: 我想知道为什么这是错误以及如何解决。 问题答案: 您正在尝试解析JavaScript对象。用于解析 表示 类似JavaScript的对象的JSON字符串。 只需完全跳过解析: 在相关说明中:您可能有兴趣阅读 “

  • 此文件包含上载文件的表单 上传orm.jsp 我的控制器方法是 我上传时出现以下错误: HTTP状态403-在请求参数“\u CSRF”或标头“X-CSRF-Token”上发现无效的CSRF令牌“null” 我也用过Spring安全。但是我总是给出同样的错误。我尝试了很多,但无法解决它。你能帮忙解决这个问题吗?

  • 我正试图开发一款应用程序,但当我按下“后退”按钮时,系统显示无法添加窗口标记android。操作系统。BinderProxy@41b70320无效;你的活动正在进行吗?我不明白,我该怎么解决?我的对话框是用AsyncTask我的代码创建的:类(它不完整,因为它非常大) 活动呢 } 请帮助我是为了我的工作,我什么都不明白......

  • xmlns:tools=“http://schemas.android.com/tools” Android:layout_width=“match_parent” Android:layout_height=“match_parent” Android:background=“@color/greencolor” 我在这里添加了注释 工具:context=“.mainActivity”> 第6行