2017-10-02 17 views
2

ので、私は、このコードこのlayoutのためにアンドロイド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と警告ダイアログを保持する機能を作成し

感謝

+1

作成 ' AlertDialog'を 'OnClickListener'に追加し、アクティビティを開始すると終了しますか? – creativecreatorormaybenot

答えて

3

を(あなたがコードを見ることができるように、この部分がすでに作成されています)。保存名をクリックすると、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>