如何从 seekbar Android Kotlin 更改字符串的长度
Posted
技术标签:
【中文标题】如何从 seekbar Android Kotlin 更改字符串的长度【英文标题】:How to change the length of the string from the seekbar Android Kotlin 【发布时间】:2022-01-21 14:44:12 【问题描述】:我正在尝试根据搜索栏值的长度制作密码生成器。
例如,当搜索栏位于 12 时,密码生成器将显示 12 个随机字符。
在这种情况下,应用程序在固定长度为 16 的情况下运行良好。 主活动。
class MainActivity : AppCompatActivity()
private lateinit var _binding : ActivityMainBinding
private var startPoint = 0
private var endPoint = 0
override fun onCreate(savedInstanceState: Bundle?)
super.onCreate(savedInstanceState)
_binding = ActivityMainBinding.inflate(layoutInflater)
val view = _binding.root
setContentView(view)
_binding.apply
generate.setOnClickListener
val generatePassword = randomID()
Password.text = generatePassword
seekbar.setOnSeekBarChangeListener(object: SeekBar.OnSeekBarChangeListener
override fun onProgressChanged(
seekBar: SeekBar?,
progress: Int,
fromUser: Boolean
)
volume.text = progress.toString()
override fun onStartTrackingTouch(seekBar: SeekBar?)
startPoint = seekBar?.progress ?: 0
override fun onStopTrackingTouch(seekBar: SeekBar?)
endPoint = seekBar?.progress ?: 0
)
private fun randomID() : String = List(16)
val strings = (('a'..'z') + ('A'..'Z') + ('0'..'9'))
strings.random()
.joinToString("")
【问题讨论】:
您陈述了您想要做的事情并删除了一些代码。你的问题/问题是......究竟是什么? ***.com/help/how-to-ask 【参考方案1】:试试这样的
override fun onStopTrackingTouch(seekBar: SeekBar?)
Password.text= randomID(seekBar?.progress ?: 0)
private fun randomID(length : Int) : String = List(length)
val strings = (('a'..'z') + ('A'..'Z') + ('0'..'9'))
strings.random()
.joinToString("")
【讨论】:
成功了:D 谢谢以上是关于如何从 seekbar Android Kotlin 更改字符串的长度的主要内容,如果未能解决你的问题,请参考以下文章