从Pixel XL安卓版8.0.0中不起作用的片段添加活动中的片段

时间:2017-09-15 07:50:53

标签: android android-fragments kotlin android-8.0-oreo

最近我将像素xl mobile更新到Android版8.0.0(Orio)之后

当我通过调用片段中的主要活动中的方法在我的应用程序中添加片段时,它在像素中不工作但是相同的代码在其他手机中工作,如Sony Xperia android版本:5.1.1和Samsung S8 android version 7.0 < / p>

如何解决这个问题?

我的代码(在Kotlin中),用于在主要活动中调用方法setUsernamePassword():

(作为MainActivity的活动).setUsernamePassword()

主要活动代码

import android.app.Fragment
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    addFragmentToActivity(R.id.loginFragment,LoginFragment())
    val loginText = findViewById(R.id.login_textView) as TextView
    loginText.setOnClickListener {
        addFragmentToActivity(R.id.loginFragment,LoginFragment())
    }

    val registerText = findViewById(R.id.register_textView) as TextView
    registerText.setOnClickListener {
        addFragmentToActivity(R.id.registerFragment,RegisterFragment())
    }
}

private fun addFragmentToActivity(frameId: Int,fragment: Fragment) {
    val fragmentTransaction = fragmentManager.beginTransaction()
    fragmentTransaction.replace(frameId,fragment).addToBackStack(null)
    fragmentTransaction.commit()
}

 fun setUsernamePassword() {
    addFragmentToActivity(R.id.setUsernamePassword,SetUsernamePasswordFragment())
}



}

0 个答案:

没有答案