From aaeb01307968e4f756caaca5cc294f2ebda66e6e Mon Sep 17 00:00:00 2001 From: huntams Date: Sat, 1 Apr 2023 12:22:04 +0300 Subject: [PATCH 1/5] lesson5 --- app/src/main/AndroidManifest.xml | 2 + .../example/three_lines/DataListAdapter.kt | 2 +- .../com/example/three_lines/MainActivity.kt | 33 ++++--------- .../second_activity/SecondActivity.kt | 28 +++++++++++ app/src/main/res/layout/activity_main.xml | 46 ++++++------------- app/src/main/res/layout/activity_second.xml | 12 +++++ 6 files changed, 67 insertions(+), 56 deletions(-) create mode 100644 app/src/main/java/com/example/three_lines/second_activity/SecondActivity.kt create mode 100644 app/src/main/res/layout/activity_second.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 05ea30b..21ec1bc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,6 +20,8 @@ + + \ No newline at end of file diff --git a/app/src/main/java/com/example/three_lines/DataListAdapter.kt b/app/src/main/java/com/example/three_lines/DataListAdapter.kt index 8d7af79..c36b229 100644 --- a/app/src/main/java/com/example/three_lines/DataListAdapter.kt +++ b/app/src/main/java/com/example/three_lines/DataListAdapter.kt @@ -10,7 +10,7 @@ import com.example.three_lines.databinding.ViewContactBinding class DataListAdapter : ListAdapter(diffUtilCallback) { - private var onClick : ( DataModel,String)-> Unit = {} + private var onClick : ( DataModel)-> Unit = {} fun setCallback(callback :(DataModel) -> Unit){ this.onClick = callback } diff --git a/app/src/main/java/com/example/three_lines/MainActivity.kt b/app/src/main/java/com/example/three_lines/MainActivity.kt index 87aedc4..bcd2497 100644 --- a/app/src/main/java/com/example/three_lines/MainActivity.kt +++ b/app/src/main/java/com/example/three_lines/MainActivity.kt @@ -1,9 +1,11 @@ package com.example.three_lines +import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import com.example.three_lines.databinding.ActivityMainBinding +import com.example.three_lines.second_activity.SecondActivity class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding @@ -12,7 +14,7 @@ class MainActivity : AppCompatActivity() { DataListAdapter() } - /* + private val dataList = listOf( DataModel("rand1","subrand2"), DataModel("rand3","subrand4"), @@ -20,39 +22,24 @@ class MainActivity : AppCompatActivity() { DataModel("rand7","subrand8"), ) - */ - private val dataList = mutableListOf().apply { + + /*private val dataList = mutableListOf().apply { repeat(10) { add(DataModel()) } } + */ + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) - var size: Int = 0 - binding.recyclerView.adapter = listAdapter - binding.ButtonAdd.setOnClickListener { - dataList.add(DataModel()) - listAdapter.submitList(dataList.toList()) - //size++ - //listAdapter.submitList(dataList.take(size)) - + binding.buttonAction.setOnClickListener { + val text = binding.editText.text.toString() + startActivity(SecondActivity.createIntent(this,text)) } - binding.ButtonRemove.setOnClickListener { - //if(size!=0) { - // size-- - // listAdapter.submitList(dataList.take(size)) - //} - dataList.removeLastOrNull() - listAdapter.submitList(dataList.toList()) } - listAdapter.setCallback { model -> - Toast.makeText(this, model.title, Toast.LENGTH_LONG).show() - } - binding.recyclerView.adapter = listAdapter - } } \ No newline at end of file diff --git a/app/src/main/java/com/example/three_lines/second_activity/SecondActivity.kt b/app/src/main/java/com/example/three_lines/second_activity/SecondActivity.kt new file mode 100644 index 0000000..b6c1ede --- /dev/null +++ b/app/src/main/java/com/example/three_lines/second_activity/SecondActivity.kt @@ -0,0 +1,28 @@ +package com.example.three_lines.second_activity + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import com.example.three_lines.databinding.ActivitySecondBinding + +class SecondActivity : AppCompatActivity() { + + companion object{ + private const val ARG_TEXT_KEY = "ARG_TEXT_KEY" + + fun createIntent(context : Context,text: String) = Intent(context,SecondActivity::class.java).apply { + putExtra(ARG_TEXT_KEY,text) + } + } + private lateinit var binding: ActivitySecondBinding + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivitySecondBinding.inflate(layoutInflater) + setContentView(binding.root) + + val text = intent.extras?.getString(ARG_TEXT_KEY) + binding.textView.text = text + } + +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index c01fb49..4660d57 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,37 +1,19 @@ - - + - - + android:id="@+id/editText"/> - - -