Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kotlin项目无法show弹出或者弹出后空异常,java正常 #1200

Open
anaivez opened this issue Jan 13, 2024 · 0 comments
Open

kotlin项目无法show弹出或者弹出后空异常,java正常 #1200

anaivez opened this issue Jan 13, 2024 · 0 comments

Comments

@anaivez
Copy link

anaivez commented Jan 13, 2024

XPopup版本
2.9.4

手机系统和型号
公版 Android 10

描述你的问题
kotlin项目代码中无法弹出或者弹出报空异常,java中正常。在activity中使用basecontext弹出无反应,使用this弹出会报空异常。activiy使用了Binding绑定

异常信息
2024-01-08 10:49:11.106 5915-5915 AndroidRuntime com.wrbicycle E FATAL EXCEPTION: main Process: com.wrbicycle, PID: 5915 java.lang.IllegalStateException: Could not execute method for android:onClick at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:473) at android.view.View.performClick(View.java:7140) at android.view.View.performClickInternal(View.java:7117) at android.view.View.access$3500(View.java:801) at android.view.View$PerformClick.run(View.java:27351) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7401) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1072) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:468) at android.view.View.performClick(View.java:7140)  at android.view.View.performClickInternal(View.java:7117)  at android.view.View.access$3500(View.java:801)  at android.view.View$PerformClick.run(View.java:27351)  at android.os.Handler.handleCallback(Handler.java:883)  at android.os.Handler.dispatchMessage(Handler.java:100)  at android.os.Looper.loop(Looper.java:214)  at android.app.ActivityThread.main(ActivityThread.java:7401)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1072)  Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.FrameLayout.getChildCount()' on a null object reference at com.lxj.xpopup.impl.FullScreenPopupView.initPopupContent(FullScreenPopupView.java:46) at com.lxj.xpopup.core.BasePopupView.init(BasePopupView.java:243) at com.lxj.xpopup.core.BasePopupView.show(BasePopupView.java:108) at com.wrbicycle.view.first.BicycleMainActivity.onClick(BicycleMainActivity.kt:55) at java.lang.reflect.Method.invoke(Native Method)  at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:468)  at android.view.View.performClick(View.java:7140)  at android.view.View.performClickInternal(View.java:7117)  at android.view.View.access$3500(View.java:801)  at android.view.View$PerformClick.run(View.java:27351)  at android.os.Handler.handleCallback(Handler.java:883)  at android.os.Handler.dispatchMessage(Handler.java:100)  at android.os.Looper.loop(Looper.java:214)  at android.app.ActivityThread.main(ActivityThread.java:7401)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1072)  2024-01-08 10:49:11.139 5915-5915 Process com.wrbicycle I Sending signal. PID: 5915 SIG: 9 2024-01-08 10:49:11.204 1999-2105 InputDispatcher system_server E channel '44e27f1 com.wrbicycle/com.wrbicycle.view.first.BicycleMainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!

activity代码
`
class BicycleMainActivity : BaseActivity() {

private val CURRENT_FRAGMENT = "STATE_FRAGMENT_SHOW"
private lateinit var binding: ActivityBicyclemainBinding
private var fragments = ArrayList<Fragment>()
private var currentFragment: Fragment? = null
private lateinit var fragmentManager: FragmentManager
var currentIndex = 0

override fun init() {
    binding = ActivityBicyclemainBinding.inflate(layoutInflater)
    setContentView(binding.root)
    fragmentManager = supportFragmentManager
    addFragment()
    showFragment()
}

override fun initData() {
}

fun onClick(view: View) {

// currentIndex++
// if (currentIndex >= fragments.size) {
// currentIndex = 0
// }
// showFragment()
XPopup.Builder(getContext())
.isLightStatusBar(true)
.isViewMode(true)
.isDestroyOnDismiss(true)
.hasNavigationBar(true)
.autoOpenSoftInput(false)
.popupAnimation(PopupAnimation.ScaleAlphaFromCenter)
.asCustom(GuideXpopup(getContext())).show()
}

fun getContext():Context{
    return this
}

fun addFragment() {
    fragments.clear()
    fragments.add(MainFragment())

// fragments.add(GuideFragment())
fragments.add(LanguageFragment())
fragments.add(MediaFragment())
fragments.add(SportsFragment())
}

fun showFragment() {
    var transaction = fragmentManager.beginTransaction()
    if (currentFragment != null) {
        if (currentFragment!!.isAdded) {
            if (currentFragment is MainFragment) {
                transaction.detach(currentFragment!!)
            } else {
                transaction.remove(currentFragment!!)
            }
        }
    }
    currentFragment = fragments[currentIndex]
    transaction.add(R.id.activity_main_frameLayout, currentFragment!!, ""+currentIndex)
    transaction.attach(currentFragment!!)
    transaction.commitNowAllowingStateLoss()
}

}
`

xpopup代码
`
class GuideXpopup(context: Context) : FullScreenPopupView(context), View.OnClickListener {

override fun getInnerLayoutId(): Int {
    return R.layout.xpopup_guide
}

override fun onClick(v: View?) {
}

}
`

@anaivez anaivez changed the title 无法show弹出或者弹出后空异常 kotlin项目无法show弹出或者弹出后空异常,java正常 Jan 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant