首页 > 解决方案 > Android:从在活动上扩展的 AbstractActivity 类调用变量时出现问题

问题描述

我有许多活动扩展到一个 AbstractActivity。IE:

    class ActivityA extends AbstractActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_abstract)
        }
Button1.setOnClickListener {
x = 5
}
}

open class AbstractActivity extends AppCompatActivity() { ... 
    var x : Int? = 0
    override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_abstract)
            Toast.makeText(this, "varInAbstract=" + varInAbstract, Toast.LENGTH_LONG).show()
        }
}

抽象活动中声明了一个变量。即:var varInAbstract。当我在另一个活动中更改此变量的值时,它会在活动中更改。但是当我在 AbstractActivity 类中调用这个 varInAbstract 时,它的值不是活动类的最后一个赋值,而是上一个的前一个。我认为在 Activity 类中所做的更改不适用于 AbstractActivity 类。Toast 消息始终显示值“0”。有解决办法吗?还是解决方法?

有什么帮助吗?

在此处输入图像描述

标签: android

解决方案


推荐阅读