像onBackPressed()supportActionBar()之类的功能在迁移到androidx后会导入错误

时间:2018-09-27 05:35:26

标签: java android android-studio kotlin androidx

android.support迁移到androidx后,所有功能,例如onBackPressed()setSupportActionBar和其他默认功能都停止工作。 如何解决此错误?Imports from androidx

Imports from androidx giving error

Base activity

3 个答案:

答案 0 :(得分:1)

Dagger 2.17与Androidx不兼容。使用2.16

更改版本后执行干净的构建,如果仍然无法正常运行,请从value = CharMatcher.inRange('0', '9') .or(CharMatcher.inRange('a', 'z') .or(CharMatcher.inRange('A', 'Z'))).retainFrom(value) 菜单执行Invalidate Caches / Restart

答案 1 :(得分:0)

好的。问题出在匕首2.14版本上。其中support使用AppCompatActivity版本而不是androidx。升级到最新版本的匕首将解决此问题

答案 2 :(得分:-1)

我们正在使用这两个功能,将发布代码和精美的onBackPressed乐趣

    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_person)
    supportActionBar?.setDisplayHomeAsUpEnabled(true)

    initViews()

}

这是“选择的选项”代码,我们在这里也有一个菜单

    override fun onOptionsItemSelected(item: MenuItem?): Boolean {
    if (item != null) {
        when (item.itemId) {
            R.id.addNote -> {
                val intent = Intent(this, MainActivity::class.java)
                intent.putExtra("FROM","N")// ADD NEW NOTE
                startActivity(intent)
            }
        }
        // CODE below manages HOME Button
        val id = item.itemId
        if (id == android.R.id.home) {
            val intent = Intent(this, MainActivity::class.java)
            intent.putExtra("FROM","N")// ADD NEW NOTE
            startActivity(intent)
        }
    }
    return super.onOptionsItemSelected(item)
}

现在,在BackPressed上使用GLOBAL TOAST了

    override fun onBackPressed(){
    theTOAST()
}

fun theTOAST(){
    val toast = Toast.makeText(this@PersonActivity, "USE  <-- to go back",Toast.LENGTH_LONG)
    val view = toast.view
    view.setBackgroundColor(Color.TRANSPARENT)
    val text = view.findViewById(android.R.id.message) as TextView
    text.setTextColor(Color.BLUE)
    text.textSize = (20F)
    toast.show()
}

要使Toast Global成为全局,您需要在顶层使用var toastSTR =“”
然后将该var放在Toast中,字符串将移至该Toast并设置值,并在乐趣中调用您想要的自定义toast