我在我的 android 应用程序中使用材料设计,通常用于更改卡角的半径,我使用 app:cardCornerRadius,但这会更改卡的所有四个角。我想更改卡片的任何特定角落。我不想只使用 drawable 来改变角落。有没有办法通过xml或以编程方式。
<com.google.android.material.card.MaterialCardView
style="@style/Widget.MaterialComponents.CardView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:backgroundTint="@color/colorWhite"
app:cardCornerRadius="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginStart="16dp" android:layout_marginEnd="16dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="visible"
android:layout_width="match_parent"
android:layout_height="match_parent">
Run Code Online (Sandbox Code Playgroud) android android-layout material-design android-cardview material-components-android
使用 Cloud Firestore 时,最好记住阅读的文档计数。我正在开发一个库存应用程序,其中为产品列表以及其他详细信息生成账单。除了账单中数组列表的更新之外,一切正常。我可以在账单中插入产品的数组列表以及其他详细信息,但稍后无法更新数组列表。每当我尝试在文档中插入更多数组列表时,旧的数组列表就会被删除。我不明白如何在该数组列表中插入更多条目。
private void loadDatatoFirestore() {
//product details entry
final ArrayList<OrderedProductModel> newProductModel = new ArrayList<>();
for (int i=0; i<productModelList.size(); i++){
OrderedProductModel model = new OrderedProductModel(productModelList.get(i).getProductNumber(),
productModelList.get(i).getProductName(),
productModelList.get(i).getOrderedQuantity(),
productModelList.get(i).getSellingPrice());
newProductModel.add(model);
}
BillModel insertBill = new BillModel(billNumber, partyName, date, totalPrice, BILL_STATUS, newProductModel);
db.collection("mainCollection").document("BillDocument")
.collection("BillCollection")
.document(billNumber)
.set(insertBill, SetOptions.merge())
.addOnSuccessListener(new OnSuccessListener<Void>() {...}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常..但现在我想将更多条目插入 orderderProduct 数组。我试图像这样解决它,但随后发生编译时错误。我不知道如何在这里更新数组。
private void updateBill(String billNumber) {
//here i am trying to insert dummy data
ArrayList<OrderedProductModel> testArray = new ArrayList<>();
testArray.add(new OrderedProductModel("9999","testprod1",50,40));
testArray.add(new OrderedProductModel("9911","testprod2",70,60));
BillModel billtest = new BillModel(testArray); …Run Code Online (Sandbox Code Playgroud)