Android Kotlin中使用OnClickListener实现两个输入框内容合并展示在同一条消息
实现方法
你现在的代码仅获取了第一个输入框的内容,只需在按钮点击逻辑中同时读取两个输入框的输入,拼接为完整字符串后传给Toast即可,这是多输入字段汇总展示的通用实现方式,非常多场景都有类似用法。
修改后的完整代码
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val autotextView = findViewById<AutoCompleteTextView>(R.id.autoTextViewStart) val autotextViewZiel = findViewById<AutoCompleteTextView>(R.id.autoTextViewZiel) // 读取语言数组配置 val languages = resources.getStringArray(R.array.Languages) // 为两个自动完成输入框配置适配器 val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, languages) autotextView.setAdapter(adapter) autotextViewZiel.setAdapter(adapter) val button = findViewById<Button>(R.id.btn) if (button != null) { button.setOnClickListener(View.OnClickListener { // 同时获取两个输入框的内容,去除首尾空格 val startInput = autotextView.text.toString().trim() val zielInput = autotextViewZiel.text.toString().trim() // 可选校验:两个输入框都不为空才弹出内容,不需要可以删除这段判断 if (startInput.isEmpty() || zielInput.isEmpty()) { Toast.makeText(this@MainActivity, "请补全所有输入项", Toast.LENGTH_SHORT).show() return@OnClickListener } // 自定义拼接格式,可根据需求调整分隔符、提示文案 val resultText = "第一个输入框内容:$startInput\n第二个输入框内容:$zielInput" Toast.makeText(this@MainActivity, resultText, Toast.LENGTH_SHORT).show() }) } } }
补充说明
- 拼接字符串时可以按需调整格式,比如用空格、顿号分隔,或者用换行符
\n实现分行展示,也可以自定义字段说明前缀 - 增加的非空校验逻辑可以根据业务需求决定是否保留,如果允许空输入直接删除即可
内容的提问来源于stack exchange,提问作者CSBossmann
相关产品推荐
相关产品推荐

