1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
class SkillUpFragment : Fragment() {
lateinit var skillsSpin : Spinner
lateinit var model : SharedViewModel
private val myCompositeDisposable= CompositeDisposable()
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.skill_up_fragment, container, false)
skillsSpin = view!!.findViewById(R.id.skill_spinner)
model = ViewModelProviders.of(activity!!).get(SharedViewModel::class.java)
return view
}
override fun onStart() {
super.onStart()
loadData()
}
override fun onStop() {
super.onStop()
myCompositeDisposable.dispose()
}
private fun loadData(){
val token = SharedPrefManager.getInstance(activity!!.applicationContext).loginResponse.token
val parsedJWT = JWT(token!!)
val metaId = parsedJWT.getClaim("id")
val id = metaId.asInt()
myCompositeDisposable?.add(RetrofitClient.instance.getSkillsToChoose(Id(id!!))
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(this::handleResponse))
}
private fun handleResponse(skills: List<Skill>){
val skillsName = skills.map { it.name }
skillsSpin.adapter = ArrayAdapter<String>(context, android.R.layout.simple_list_item_1,skillsName)
skillsSpin.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
val skill = skillsName[id.toInt()]!!
println("!!!!!!!!AVANT DE CLIQUER SUR LE BUTTON!!!!!!!!!!!")
println(skill)
frag_button_choose.setOnClickListener {
println("!!!!!!!!APRES AVOIR CLIQUER SUR LE BUTTON!!!!!!!!!!!!")
println(skill)
model.setText(skill)
}
}
}
}
} |
Partager