在我的微调器 POJO 中,我有 id 和 name。所以在按钮单击时,我想在 kotlin android 中发送我的微调器 ID 而不是名称

Posted

技术标签:

【中文标题】在我的微调器 POJO 中,我有 id 和 name。所以在按钮单击时,我想在 kotlin android 中发送我的微调器 ID 而不是名称【英文标题】:In my spinner POJO I have id and name. So on button click I want to send my spinner id instead of name in kotlin android 【发布时间】:2021-05-18 01:16:30 【问题描述】:

如何在 android 中发送选定的微调器 ID 而不是名称。下面我附上我的代码。请参考我的代码并帮助我如何发送支持列表类型响应是我的 api。在按钮上单击如何发送 ISSUETYPEID 到 post 方法。

数据类 SupportListOfIssueResponseArray(

@SerializedName("ISSUETYPEID")
var ISSUETYPEID: String? = null,

@SerializedName("ISSUETYPE")
var ISSUETYPE: String? = null

)

class SupportActivity : BaseActivity() 
 private val TAG: String = SupportActivity::class.java.simpleName
 private var descriptionBox: TextView? = null
 private var issueType: Spinner? = null

 @SuppressLint("ByteOrderMark")
 override fun onCreate(savedInstanceState: Bundle?) 
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_support)

   
    descriptionBox = getView(R.id.support_desc)
    issueType = getView(R.id.issue_type_spinner)

     var submitButton = getView<Button>(R.id.submit_button)
    submitButton?.setOnClickListener 
      
        val supportPostRequest = SupportPostRequest()
        supportPostRequest.type = issueType?.selectedItem.toString()
        DashboardService.postSupport(applicationContext, supportPostRequest) 
            if (it != null && it?.error?.errorCode == 0) 
                FGLogger.e(TAG, it?.error.errorCode.toString())
            
        

          private fun initIssueTypeSpinner(spinner: AppCompatSpinner) 
          val issueTypes = mutableListOf<String>()


           DashboardService.getListofissues(applicationContext) 
           if (it != null && it?.error?.errorCode == 0) 
            FGLogger.e(TAG, it?.error?.errorCode.toString())
            for (item in it?.response) 
                if (item?.ISSUETYPEID != null) 
                    var Ar = item?.ISSUETYPE.toString()
                    issueTypes.add(Ar)
                 

             

         
           this@SupportActivity?.runOnUiThread(

            val adapter = ArrayAdapter<String>(this, R.layout.fg_bank_account_type_spinner_item, 
            issueTypes)
            spinner.adapter = adapter
        )


    



【问题讨论】:

【参考方案1】:

为了传递微调器 id,您制作两个数组,如下所示

val issueTypes = mutableListOf<String>()
val issueTypesID = mutableListOf<Integer>()

比添加 issueTypes 数组名时还要在 issueTypesID 数组中添加 Id 现在 issueTypes 数组用于微调器的显示名称和 issueTypesID 数组,它们获取 id 可以使用的 id,您可以单击按钮并调用 api。

【讨论】:

我需要的是在下拉列表中它应该只显示名称......但在 buttonclick 它应该只发送 id 到 api。 在微调项单击方法上,您可以在该位置的基础上获取单击项的位置,您可以轻松获取 var clickID=isssueTypeID.get(position) 这样的 id 现在这个 clickID 传递到 api 端。

以上是关于在我的微调器 POJO 中,我有 id 和 name。所以在按钮单击时,我想在 kotlin android 中发送我的微调器 ID 而不是名称的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 URL 处理多个微调器?

如何更改微调器文本大小和文本颜色?

获取微调器选定项目文本?

获取微调器选定项目文本?

反应:微调效果正在取消我的滚动效果

如何在我的微调器中使用 getItemAtPosition 从谷歌地图中的火力基地使用 android studio