Android Kotlin按钮+提醒对话框+列表

所以我有这个代码

var firstKitList = mutableListOf<String>("test", "potato", "another item") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_kit_list) val mainKitList = kitListView val mainListViewAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, firstKitList) mainKitList.adapter = mainListViewAdapter newKitListBtn.setOnClickListener { // Handler code here. val intent = Intent(this, NewKitListActivity::class.java) startActivity(intent); } } 

对于这个布局 。 当我点击按钮的时候,我该如何去解决,为我显示一个警告对话框,也添加一个名字(就像我正在创建一个项目添加到列表中),然后进入下一个活动? (这部分已经被创建,你可以在代码中看到)

非常感谢

我用editText创建了一个保持警告对话框的函数。 当您点击保存名称将被存储在multableList并重定向到新的活动。

修改的代码

 var firstKitList = mutableListOf<String>("test", "potato", "another item") // Mutable List for holding names val nameList = mutableListOf<String>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_kit_list) val mainKitList = kitListView val mainListViewAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, firstKitList) mainKitList.adapter = mainListViewAdapter newKitListBtn.setOnClickListener { // Show Alert Dialog showNewNameDialog() } } 

警报对话功能

 fun showNewNameDialog() { val dialogBuilder = AlertDialog.Builder(this) val inflater = this.layoutInflater val dialogView = inflater.inflate(R.layout.custom_dialog, null) dialogBuilder.setView(dialogView) val editText = dialogView.findViewById<View>(R.id.editTextName) as EditText dialogBuilder.setTitle("Custom dialog") dialogBuilder.setMessage("Enter Name Below") dialogBuilder.setPositiveButton("Save", DialogInterface.OnClickListener { dialog, whichButton -> //do something with edt.getText().toString(); // Add Name in list nameList.add(editText.text.toString()) // Handler code here. val intent = Intent(this, NewKitListActivity::class.java) startActivity(intent); }) dialogBuilder.setNegativeButton("Cancel", DialogInterface.OnClickListener { dialog, whichButton -> //pass }) val b = dialogBuilder.create() b.show() } 

自定义对话框布局:custom_dialog.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" android:orientation="vertical"> <EditText android:id="@+id/editTextName" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" /> </LinearLayout>