如何从 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 更改字符串的长度的主要内容,如果未能解决你的问题,请参考以下文章

android 如何重写seekbar

Android开发如何更改SeekBar式样

android开发中如何设置seekbar的最小值?

阅读《Android 从入门到精通》(18)——拖动条

当在视频视图android中使用seekbar时如何举杯?

android关于自定义seekbar控件的问题(将横向seekbar改成竖向seekbar)