如何使微调器中的int值在微调器中的UI中显示为Text值?]

问题描述 投票:0回答:1
我的应用程序中有一个性别微调器,其值(0和1)为0 = "Male"1 = "Female",我将它们用作整数,因为这是发送用户信息的POST方法所需要的。如何将值作为Int发送但在我的应用中将其显示为“文本”?

这是我的活动代码:

class EditUserActivity : AppCompatActivity() { var genderSelected = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.edit_user) editSpinner.visibility = View.INVISIBLE val genderList = arrayOf(0, 1) genderSelected = genderList[0] val arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, genderList) genderSpinner.adapter = arrayAdapter genderSpinner.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) { genderSelected = genderList.get(position) } } EditFirstName.setText(UserDataService.firstName) EditLastName.setText(UserDataService.lastName) EditEmail.setText(UserDataService.email) EditMobile.setText(UserDataService.mobile) EditWhatsapp.setText(UserDataService.whatsapp) EditAddress.setText(UserDataService.address) } fun editButtonClicked(view: View) { enableSpinner(true) val firstName = EditFirstName.text.toString() val lastName = EditLastName.text.toString() val email = EditEmail.text.toString() val mobile = EditMobile.text.toString() val whatsapp = EditWhatsapp.text.toString() val address = EditAddress.text.toString() val gender = genderSelected if (firstName.isNotEmpty() && lastName.isNotEmpty() && email.isNotEmpty() && mobile.isNotEmpty() && address.isNotEmpty() && whatsapp.isNotEmpty()) { AuthService.editUserProfile(this, UserDataService.id,email,firstName,lastName,gender,mobile, address, whatsapp) { editSuccess -> if (editSuccess) { val userDataChange = Intent(BROADCAST_USER_DATA_CHANGE) LocalBroadcastManager.getInstance(this).sendBroadcast(userDataChange) enableSpinner(false) UserDataService.firstName = firstName UserDataService.lastName = lastName UserDataService.email = email UserDataService.mobile = mobile UserDataService.whatsapp = whatsapp UserDataService.address = address UserDataService.gender = gender.toString() val intent = Intent(this, UserProfile::class.java) startActivity(intent) finish() } else { errorToast() enableSpinner(false) } } } else { Toast.makeText(this, "Make sure the fields are filled.", Toast.LENGTH_LONG).show() enableSpinner(false) } } fun errorToast() { Toast.makeText(this, "Something went wrong.", Toast.LENGTH_LONG).show() enableSpinner(false) } fun enableSpinner(enable: Boolean) { if (enable) { editSpinner.visibility = View.VISIBLE EditButton.isEnabled = false EditAddress.isEnabled = false EditEmail.isEnabled = false EditFirstName.isEnabled = false EditLastName.isEnabled = false EditWhatsapp.isEnabled = false EditMobile.isEnabled = false genderSpinner.isEnabled = false } else { editSpinner.visibility = View.INVISIBLE genderSpinner.isEnabled = true EditButton.isEnabled = true EditFirstName.isEnabled = true EditLastName.isEnabled = true EditEmail.isEnabled = true EditAddress.isEnabled = true EditMobile.isEnabled = true EditWhatsapp.isEnabled = true } } }

[在arrayOf内部设置的值,然后在var genderSelected = 0中调用,以便在用户提交时通过我的POST代码发送该值

我的应用程序中有一个性别微调器,值(0和1)0 =“ Male”和1 =“ Female”我将它们用作整数,因为这是发送用户信息的POST方法所必需的。我该如何...

android kotlin android-spinner
1个回答
1
投票
执行此操作,替换您的代码
© www.soinside.com 2019 - 2024. All rights reserved.