【发布时间】:2018-06-26 18:07:58
【问题描述】:
我有以下两个整数的活动
class ComplexActivity : AppCompatActivity() {
var clubs : Int = 0
var diamonds : Int = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_complex)
val fragment = ClubsFragment()
val transaction = supportFragmentManager.beginTransaction()
transaction.replace(R.id.main_frame, fragment)
transaction.commit()
}
}
当isScored 为真时,我想从片段ClubsFragment 更改整数俱乐部的值
class ClubsFragment : Fragment(), SeekBar.OnSeekBarChangeListener{
private var isScored = false
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
val v = inflater!!.inflate(R.layout.fragment_clubs, container, false)
v.image_clubs.setOnClickListener {
if(isScored){
activity.clubs = 4
}
}
}
}
我尝试使用 activity.clubs,但它不起作用。如何从片段中访问活动常量。
【问题讨论】:
-
用伴生对象试试
-
@MeLine 没有区别
-
copanioin object{ var clubs = 0} 相当于java中的static
-
@MeLine 但是当我尝试使用 activity.clubs 从片段中访问它时,它没有出现
-
你试过公开吗?
标签: android android-fragments kotlin