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..7446529 100644 --- a/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt +++ b/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt @@ -2,10 +2,45 @@ package otus.gpb.homework.viewandresources import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.widget.TextView +import androidx.recyclerview.widget.DividerItemDecoration +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView class CartActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_cart) + + val rv = findViewById(R.id.recyclerView) + rv.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + rv.layoutManager = LinearLayoutManager(this) + + val itemsList = listOf( + CartItem("SportsCar", "Avto", "car", R.drawable.ic_car_sports, "$500000.00"), + CartItem("MotoBike", "Avto", "motorcycle", R.drawable.ic_motorbike, "$5000.00"), + CartItem("Snowmobile", "Avto", "snowmobile", R.drawable.ic_snowmobile, "$10000.00"), + CartItem("Bicycle", "Avto", "bicycle",R.drawable.ic_bicycle, "$300.00"), + CartItem("Skateboard", "Avto", "skateboard",R.drawable.ic_skateboard, "$100.00"), + ) + + var amount = 0.0 + for(i in itemsList){ + amount +=i.price.drop(1).toFloat() + } + + findViewById(R.id.text).text = "${itemsList.count()}" + getString(R.string.count_items) + findViewById(R.id.textTaxAmount).text = String.format("$%d.%02d", (amount.toInt() / 100) , amount.toInt() % 100) + findViewById(R.id.textSubtotalAmount).text = "$%.02f".format(amount) + + findViewById(R.id.textOrderTotalAmount).text = "$%.02f".format( + findViewById(R.id.textTaxAmount).text.drop(1).toString().toFloat() + + findViewById(R.id.textSubtotalAmount).text.drop(1).toString().toFloat() + + findViewById(R.id.textShippingAmount).text.drop(1).toString().toFloat()) + + rv.adapter = RecyclerViewItem(itemsList) } } \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/CartItem.kt b/app/src/main/java/otus/gpb/homework/viewandresources/CartItem.kt new file mode 100644 index 0000000..c1e1f09 --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/CartItem.kt @@ -0,0 +1,7 @@ +package otus.gpb.homework.viewandresources + +data class CartItem(val name: String, + val category: String, + val description: String, + val image: Int, + val price: String) \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/RecyclerViewItem.kt b/app/src/main/java/otus/gpb/homework/viewandresources/RecyclerViewItem.kt new file mode 100644 index 0000000..febe040 --- /dev/null +++ b/app/src/main/java/otus/gpb/homework/viewandresources/RecyclerViewItem.kt @@ -0,0 +1,36 @@ +package otus.gpb.homework.viewandresources + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +class RecyclerViewItem(private val itemsList: List) : RecyclerView.Adapter() { + + class RecyclerItemHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val imageView: ImageView = itemView.findViewById(R.id.imageView) + val textViewTitle: TextView = itemView.findViewById(R.id.name) + val textView: TextView = itemView.findViewById(R.id.category) + val textDescription: TextView = itemView.findViewById(R.id.description) + val priceView: TextView = itemView.findViewById(R.id.price) + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerItemHolder { + val itemView = LayoutInflater.from(parent.context) + .inflate(R.layout.items_cart, parent, false) + return RecyclerItemHolder(itemView) + } + + override fun onBindViewHolder(holder: RecyclerItemHolder, position: Int) { + val currentItem = itemsList[position] + holder.imageView.setImageResource(currentItem.image) + holder.textViewTitle.text = currentItem.name + holder.textView.text = currentItem.category + holder.textDescription.text = currentItem.description + holder.priceView.text = currentItem.price + } + + override fun getItemCount() = itemsList.size +} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_account_outline.xml b/app/src/main/res/drawable/ic_account_outline.xml new file mode 100644 index 0000000..b4b1b35 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_outline.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_arrow_left.xml b/app/src/main/res/drawable/ic_arrow_left.xml new file mode 100644 index 0000000..828f7a8 --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_left.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_bicycle.xml b/app/src/main/res/drawable/ic_bicycle.xml new file mode 100644 index 0000000..5ba2cec --- /dev/null +++ b/app/src/main/res/drawable/ic_bicycle.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_bookmark_outline.xml b/app/src/main/res/drawable/ic_bookmark_outline.xml new file mode 100644 index 0000000..057a729 --- /dev/null +++ b/app/src/main/res/drawable/ic_bookmark_outline.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_calendar_today_outline.xml b/app/src/main/res/drawable/ic_calendar_today_outline.xml new file mode 100644 index 0000000..d4db056 --- /dev/null +++ b/app/src/main/res/drawable/ic_calendar_today_outline.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_car_sports.xml b/app/src/main/res/drawable/ic_car_sports.xml new file mode 100644 index 0000000..c03c46e --- /dev/null +++ b/app/src/main/res/drawable/ic_car_sports.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_cellphone_check.xml b/app/src/main/res/drawable/ic_cellphone_check.xml new file mode 100644 index 0000000..3a71709 --- /dev/null +++ b/app/src/main/res/drawable/ic_cellphone_check.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_chevron_down.xml b/app/src/main/res/drawable/ic_chevron_down.xml new file mode 100644 index 0000000..89a68f4 --- /dev/null +++ b/app/src/main/res/drawable/ic_chevron_down.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_close_circle_outline.xml b/app/src/main/res/drawable/ic_close_circle_outline.xml new file mode 100644 index 0000000..4ec46d5 --- /dev/null +++ b/app/src/main/res/drawable/ic_close_circle_outline.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_emoticon_outline.xml b/app/src/main/res/drawable/ic_emoticon_outline.xml new file mode 100644 index 0000000..cf70254 --- /dev/null +++ b/app/src/main/res/drawable/ic_emoticon_outline.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_microphone.xml b/app/src/main/res/drawable/ic_microphone.xml new file mode 100644 index 0000000..ed375ff --- /dev/null +++ b/app/src/main/res/drawable/ic_microphone.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_motorbike.xml b/app/src/main/res/drawable/ic_motorbike.xml new file mode 100644 index 0000000..c84439a --- /dev/null +++ b/app/src/main/res/drawable/ic_motorbike.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_paperclip.xml b/app/src/main/res/drawable/ic_paperclip.xml new file mode 100644 index 0000000..29199fe --- /dev/null +++ b/app/src/main/res/drawable/ic_paperclip.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_skateboard.xml b/app/src/main/res/drawable/ic_skateboard.xml new file mode 100644 index 0000000..69ff011 --- /dev/null +++ b/app/src/main/res/drawable/ic_skateboard.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_snowmobile.xml b/app/src/main/res/drawable/ic_snowmobile.xml new file mode 100644 index 0000000..f6231f5 --- /dev/null +++ b/app/src/main/res/drawable/ic_snowmobile.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_weather_sunny.xml b/app/src/main/res/drawable/ic_weather_sunny.xml new file mode 100644 index 0000000..109730f --- /dev/null +++ b/app/src/main/res/drawable/ic_weather_sunny.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_cart.xml b/app/src/main/res/layout/activity_cart.xml index 57dc4d4..22640f5 100644 --- a/app/src/main/res/layout/activity_cart.xml +++ b/app/src/main/res/layout/activity_cart.xml @@ -6,4 +6,156 @@ android:layout_height="match_parent" tools:context=".CartActivity"> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + +