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

cart adapter

parent 2c5e12f3
<component name="ProjectCodeStyleConfiguration">
<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>
<case-options enabled="true">
<option name="KEYWORD_CASE" value="lower" />
......
<?xml version="1.0" encoding="UTF-8"?>
<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" />
</component>
<component name="ProjectType">
......
package com.yono.messeripos;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
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.content.Intent;
......@@ -12,6 +16,9 @@ import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Adapter;
import android.widget.ArrayAdapter;
import android.widget.Filter;
import android.widget.ImageButton;
import android.widget.TextView;
......@@ -24,23 +31,21 @@ import com.yono.messeripos.models.CartModels;
import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.ProductCartModels;
import java.lang.reflect.Array;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import java.util.stream.Collectors;
public class CartActivity extends AppCompatActivity {
ImageButton btMinus, btPlus, btDelete;
TextInputEditText tiQty;
TextView tvQtyView, tvPrice, tvTotal;
MaterialButton btnCheckout;
CartAdapter cartAdapter;
MainViewModelsCart modelsCart;
RecyclerView recyclerView;
public int counter, prices;
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -56,25 +61,28 @@ public class CartActivity extends AppCompatActivity {
getSupportActionBar().setTitle("Checkout");
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.getCartProduct().observe(this, new Observer<List<ProductCartModels>>() {
@Override
public void onChanged(List<ProductCartModels> productCartModels) {
List<String> data = new ArrayList<>();
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());
// prices = Integer.parseInt(tvPrice.getText().toString());
......
......@@ -64,7 +64,6 @@ public class MainActivity extends AppCompatActivity {
categoryAdapter = new CategoryAdapter();
productAdapter = new ProductAdapter();
mainViewModelsCart = new ViewModelProvider(MainActivity.this).get(MainViewModelsCart.class);
cartAdapter = new CartAdapter();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
......
......@@ -2,49 +2,80 @@ package com.yono.messeripos.adapter;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView;
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 java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class CartAdapter extends RecyclerView.Adapter<CartAdapter.MyViewHolder> {
List<ProductCartModels> cartModels;
private List<ProductCartModels> cartModels;
private int price;
Context context;
public CartAdapter(Context context, List<ProductCartModels> cartModels) {
this.cartModels = cartModels;
this.context = context;
String gs = new Gson().toJson(cartModels);
Log.d("CartAdapter: ", gs);
// String gs = new Gson().toJson(cartModels);
// Log.d("CartAdapter: ", gs);
Log.d("CartAdapter: ", String.valueOf(this.cartModels));
notifyDataSetChanged();
}
@NonNull
@Override
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
public void onBindViewHolder(@NonNull CartAdapter.MyViewHolder holder, int position) {
holder.bindData(cartModels.get(position));
}
@Override
public int getItemCount() {
return 0;
return cartModels.size();
}
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"
android:width="108dp"
android:height="108dp"
android:width="128dp"
android:height="128dp"
android:viewportWidth="108"
android:viewportHeight="108">
<group android:scaleX="0.92268676"
......
......@@ -65,11 +65,13 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
android:padding="12sp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="2"
android:layout_marginHorizontal="5dp"
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>
......
......@@ -25,7 +25,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp">
<com.google.android.material.card.MaterialCardView
......
......@@ -24,8 +24,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp">
android:layout_marginHorizontal="5dp"
android:layout_marginVertical="10dp">
<com.google.android.material.card.MaterialCardView
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