diff --git a/app/build.gradle b/app/build.gradle index debcfaf..cdc156d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,6 +16,10 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } + buildFeatures { + viewBinding = true + } + buildTypes { release { minifyEnabled false diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/AdapterCart.kt b/app/src/main/java/otus/gpb/homework/viewandresources/AdapterCart.kt new file mode 100644 index 0000000..4a06474 --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/AdapterCart.kt @@ -0,0 +1,28 @@ +package otus.gpb.homework.viewandresources + + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView + + +class AdapterCart : RecyclerView.Adapter() { + private var list = listOf() + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.text_row_item, parent, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + val item = list.getOrNull(position) + item?.let { + holder.bind(item) + } + } + + override fun getItemCount(): Int = list.size + fun setData(newList: List) { + list = newList + } +} \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt b/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt index b6cbf73..93d9233 100644 --- a/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt +++ b/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt @@ -1,11 +1,45 @@ package otus.gpb.homework.viewandresources +import android.annotation.SuppressLint import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.view.View +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView class CartActivity : AppCompatActivity() { + private val adapter: AdapterCart by lazy { AdapterCart() } + + @SuppressLint("MissingInflatedId") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_cart) + + val recyclerView = findViewById(R.id.recyclerView) + recyclerView.adapter = adapter + adapter.setData(generate()) + findViewById(R.id.filledTextCounter).text = + buildString { + append(adapter.itemCount.toString()) + append(" items in your cart") + } + findViewById(R.id.close).setOnClickListener { finish() } + } + + fun generate() = run { + val list = mutableListOf() + repeat( + 4 + ) { + val item = Item( + title = "Name ${it.inc()}", + price = 35, + category = "Category", + description = "Supporting line text lorem ipsum dolor sit amet, consectetur.", + photo = R.drawable.food_apple_outline + ) + list.add(item) + } + list.toList() } } \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/Item.kt b/app/src/main/java/otus/gpb/homework/viewandresources/Item.kt new file mode 100644 index 0000000..543baa3 --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/Item.kt @@ -0,0 +1,10 @@ +package otus.gpb.homework.viewandresources + + +data class Item( + val title: String, + val price: Int, + val category: String, + val description: String, + val photo: Int +) \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/MainActivity.kt b/app/src/main/java/otus/gpb/homework/viewandresources/MainActivity.kt index 22b779c..7428721 100644 --- a/app/src/main/java/otus/gpb/homework/viewandresources/MainActivity.kt +++ b/app/src/main/java/otus/gpb/homework/viewandresources/MainActivity.kt @@ -4,12 +4,16 @@ import android.content.Intent import android.os.Bundle import android.widget.Button import androidx.appcompat.app.AppCompatActivity +import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.dialog.MaterialAlertDialogBuilder class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + val toolbar = findViewById(R.id.materialToolbar) + setSupportActionBar(toolbar) + findViewById