Commit 9ee3f5b8 authored by iman Fauzi's avatar iman Fauzi

cart adapter

parent 2c5e12f3
<component name="ProjectCodeStyleConfiguration"> <component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173"> <code_scheme name="Project" version="173">
<DBN-PSQL>
<case-options enabled="true">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false" />
</DBN-PSQL>
<DBN-SQL>
<case-options enabled="true">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false">
<option name="STATEMENT_SPACING" value="one_line" />
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
</formatting-settings>
</DBN-SQL>
<DBN-PSQL> <DBN-PSQL>
<case-options enabled="true"> <case-options enabled="true">
<option name="KEYWORD_CASE" value="lower" /> <option name="KEYWORD_CASE" value="lower" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">
......
package com.yono.messeripos; package com.yono.messeripos;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer; import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.Intent; import android.content.Intent;
...@@ -12,6 +16,9 @@ import android.util.Log; ...@@ -12,6 +16,9 @@ import android.util.Log;
import android.view.View; import android.view.View;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.Adapter;
import android.widget.ArrayAdapter;
import android.widget.Filter;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.TextView; import android.widget.TextView;
...@@ -24,23 +31,21 @@ import com.yono.messeripos.models.CartModels; ...@@ -24,23 +31,21 @@ import com.yono.messeripos.models.CartModels;
import com.yono.messeripos.models.MainViewModelsCart; import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.ProductCartModels; import com.yono.messeripos.models.ProductCartModels;
import java.lang.reflect.Array;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
public class CartActivity extends AppCompatActivity { public class CartActivity extends AppCompatActivity {
ImageButton btMinus, btPlus, btDelete;
TextInputEditText tiQty;
TextView tvQtyView, tvPrice, tvTotal;
MaterialButton btnCheckout;
CartAdapter cartAdapter; CartAdapter cartAdapter;
MainViewModelsCart modelsCart; MainViewModelsCart modelsCart;
RecyclerView recyclerView;
public int counter, prices; @RequiresApi(api = Build.VERSION_CODES.N)
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
...@@ -56,25 +61,28 @@ public class CartActivity extends AppCompatActivity { ...@@ -56,25 +61,28 @@ public class CartActivity extends AppCompatActivity {
getSupportActionBar().setTitle("Checkout"); getSupportActionBar().setTitle("Checkout");
toolbars.setNavigationOnClickListener(view -> onBackPressed()); toolbars.setNavigationOnClickListener(view -> onBackPressed());
recyclerView = findViewById(R.id.rvCart);
LinearLayoutManager llm = new LinearLayoutManager(this);
recyclerView.setLayoutManager(llm);
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
recyclerView.addItemDecoration(dividerItemDecoration);
modelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class); modelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class);
modelsCart.getCartProduct().observe(this, new Observer<List<ProductCartModels>>() { modelsCart.getCartProduct().observe(this, new Observer<List<ProductCartModels>>() {
@Override @Override
public void onChanged(List<ProductCartModels> productCartModels) { public void onChanged(List<ProductCartModels> productCartModels) {
List<String> data = new ArrayList<>();
cartAdapter = new CartAdapter(CartActivity.this, productCartModels); cartAdapter = new CartAdapter(CartActivity.this, productCartModels);
recyclerView.setAdapter(cartAdapter);
} }
}); });
// btMinus = findViewById(R.id.btMinus);
// btPlus = findViewById(R.id.btPlus);
// btDelete = findViewById(R.id.btDelete);
// btnCheckout = findViewById(R.id.btCheckout);
//
// tiQty = findViewById(R.id.etQty);
// tvQtyView = findViewById(R.id.tvQuantity);
// tvPrice = findViewById(R.id.tvPrice);
// tvTotal = findViewById(R.id.tvTotal);
// //
// counter = Integer.parseInt(tvQtyView.getText().toString()); // counter = Integer.parseInt(tvQtyView.getText().toString());
// prices = Integer.parseInt(tvPrice.getText().toString()); // prices = Integer.parseInt(tvPrice.getText().toString());
......
...@@ -64,7 +64,6 @@ public class MainActivity extends AppCompatActivity { ...@@ -64,7 +64,6 @@ public class MainActivity extends AppCompatActivity {
categoryAdapter = new CategoryAdapter(); categoryAdapter = new CategoryAdapter();
productAdapter = new ProductAdapter(); productAdapter = new ProductAdapter();
mainViewModelsCart = new ViewModelProvider(MainActivity.this).get(MainViewModelsCart.class); mainViewModelsCart = new ViewModelProvider(MainActivity.this).get(MainViewModelsCart.class);
cartAdapter = new CartAdapter();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
......
...@@ -2,49 +2,80 @@ package com.yono.messeripos.adapter; ...@@ -2,49 +2,80 @@ package com.yono.messeripos.adapter;
import android.content.Context; import android.content.Context;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.yono.messeripos.R;
import com.yono.messeripos.databinding.ItemCartBinding;
import com.yono.messeripos.models.CartModels;
import com.yono.messeripos.models.ProductCartModels; import com.yono.messeripos.models.ProductCartModels;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Locale;
public class CartAdapter extends RecyclerView.Adapter<CartAdapter.MyViewHolder> { public class CartAdapter extends RecyclerView.Adapter<CartAdapter.MyViewHolder> {
List<ProductCartModels> cartModels; private List<ProductCartModels> cartModels;
private int price;
Context context; Context context;
public CartAdapter(Context context, List<ProductCartModels> cartModels) { public CartAdapter(Context context, List<ProductCartModels> cartModels) {
this.cartModels = cartModels; this.cartModels = cartModels;
this.context = context; this.context = context;
String gs = new Gson().toJson(cartModels); // String gs = new Gson().toJson(cartModels);
Log.d("CartAdapter: ", gs); // Log.d("CartAdapter: ", gs);
Log.d("CartAdapter: ", String.valueOf(this.cartModels));
notifyDataSetChanged(); notifyDataSetChanged();
} }
@NonNull @NonNull
@Override @Override
public CartAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public CartAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return null; ItemCartBinding itemCartBinding = DataBindingUtil.inflate(
LayoutInflater.from(parent.getContext()),
R.layout.item_cart,
parent,
false
);
return new MyViewHolder(itemCartBinding);
} }
@Override @Override
public void onBindViewHolder(@NonNull CartAdapter.MyViewHolder holder, int position) { public void onBindViewHolder(@NonNull CartAdapter.MyViewHolder holder, int position) {
holder.bindData(cartModels.get(position));
} }
@Override @Override
public int getItemCount() { public int getItemCount() {
return 0; return cartModels.size();
} }
public class MyViewHolder extends RecyclerView.ViewHolder { public class MyViewHolder extends RecyclerView.ViewHolder {
public MyViewHolder(@NonNull View itemView) {
super(itemView); private ItemCartBinding binding;
public MyViewHolder(@NonNull ItemCartBinding binding) {
super(binding.getRoot());
this.binding = binding;
}
public void bindData(ProductCartModels cartModels) {
binding.setCarts(cartModels);
// price = binding.getPrice();
} }
private NumberFormat setToRp() {
Locale ID = new Locale("in", "ID");
return NumberFormat.getCurrencyInstance(ID);
}
} }
} }
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp" android:width="128dp"
android:height="108dp" android:height="128dp"
android:viewportWidth="108" android:viewportWidth="108"
android:viewportHeight="108"> android:viewportHeight="108">
<group android:scaleX="0.92268676" <group android:scaleX="0.92268676"
......
...@@ -65,11 +65,13 @@ ...@@ -65,11 +65,13 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:overScrollMode="never" android:overScrollMode="never"
android:padding="12sp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2" app:spanCount="2"
android:layout_marginHorizontal="5dp"
app:layout_constraintTop_toBottomOf="@id/rvCategory" app:layout_constraintTop_toBottomOf="@id/rvCategory"
tools:listitem="@layout/item_list" /> tools:listitem="@layout/item_list"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_margin="12dp"> android:layout_margin="12dp">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
......
...@@ -24,8 +24,8 @@ ...@@ -24,8 +24,8 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="300dp" android:layout_height="300dp"
android:layout_marginEnd="10dp" android:layout_marginHorizontal="5dp"
android:layout_marginBottom="10dp"> android:layout_marginVertical="10dp">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:layout_width="match_parent" android:layout_width="match_parent"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment