Java RecyclerView获取所有TextView字符串,并在字符串中进行求和和和设置 公共类CartActivityAdapter扩展了RecyclerView.Adapter{ 私人名单; 私有OnClickItemFeed OnClickItemFeed; 公共CartActivityAdapter(列表cartList、OnClickItemFeed和OnClickItemFeed){ this.cartList=cartList; this.onClickItemFeed=onClickItemFeed; } @非空 @凌驾 public CartActivityAdapter.CartViewHolder onCreateViewHolder(@NonNull ViewGroup ViewGroup,int-viewType){ View View=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.activity\u cart\u适配器,viewGroup,false); 返回新的CartActivityAdapter.CartViewHolder(视图); } @凌驾 BindViewHolder上的公共无效(@NonNull CartActivityAdapter.CartViewHolder类别viewholder,int位置){ 购物车=购物车列表。获取(位置); categoryViewHolder.setImageShapeSquare(cart.getCartImage()); categoryViewHolder.setTextView1(cart.getCartName()); categoryViewHolder.setTextView2(cart.getCartModel()); categoryViewHolder.setTextView3(cart.getCartPrice()); } @凌驾 public int getItemCount(){ return cartList==null?0:cartList.size(); } 公共类CartViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener{ 私人图像形状方形图像形状方形; 私有文本视图文本视图1、文本视图2、文本视图3; 私人按钮; 公共CartViewHolder(视图){ 超级(视图); imageShapeSquare=view.findViewById(R.id.cart\u adapter\u image\u square\u square); textView1=view.findViewById(R.id.cart\u适配器\u text\u视图\u 1); textView2=view.findViewById(R.id.cart\u适配器\u text\u视图\u 2); textView3=view.findViewById(R.id.cart\u适配器\u text\u视图\u 3); 按钮=view.findViewById(R.id.cart\u适配器\u按钮); setOnClickListener(此); } 公共void setImageShapeSquare(字符串){ if(imageShapeSquare==null){ 返回; } 新的ImageLoader(imageShapeSquare.getContext()).fromNetwork(string,SaveLocation.Cache)。to(imageShapeSquare); } 公共void setTextView1(字符串){ if(textView1==null){ 返回; } textView1.setText(字符串); } 公共void setTextView2(字符串){ if(textView2==null){ 返回; } textView2.setText(字符串); } 公共void setTextView3(字符串){ if(textView3==null){ 返回; } textView3.setText(“₹ " + 字符串); } @凌驾 公共void onClick(视图){ if(onClickItemFeed!=null){ onClickItemFeed.onClickItemFeed(getAdapterPosition(),视图); } } } 公共接口OnClickItemFeed{ void onClickItemFeed(int位置,视图); } }
这是我的视图持有者,我想从TextView 3中获取所有文本,然后添加值并以字符串形式获取它们 这是活动文件Java RecyclerView获取所有TextView字符串,并在字符串中进行求和和和设置 公共类CartActivityAdapter扩展了RecyclerView.Adapter{ 私人名单; 私有OnClickItemFeed OnClickItemFeed; 公共CartActivityAdapter(列表cartList、OnClickItemFeed和OnClickItemFeed){ this.cartList=cartList; this.onClickItemFeed=onClickItemFeed; } @非空 @凌驾 public CartActivityAdapter.CartViewHolder onCreateViewHolder(@NonNull ViewGroup ViewGroup,int-viewType){ View View=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.activity\u cart\u适配器,viewGroup,false); 返回新的CartActivityAdapter.CartViewHolder(视图); } @凌驾 BindViewHolder上的公共无效(@NonNull CartActivityAdapter.CartViewHolder类别viewholder,int位置){ 购物车=购物车列表。获取(位置); categoryViewHolder.setImageShapeSquare(cart.getCartImage()); categoryViewHolder.setTextView1(cart.getCartName()); categoryViewHolder.setTextView2(cart.getCartModel()); categoryViewHolder.setTextView3(cart.getCartPrice()); } @凌驾 public int getItemCount(){ return cartList==null?0:cartList.size(); } 公共类CartViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener{ 私人图像形状方形图像形状方形; 私有文本视图文本视图1、文本视图2、文本视图3; 私人按钮; 公共CartViewHolder(视图){ 超级(视图); imageShapeSquare=view.findViewById(R.id.cart\u adapter\u image\u square\u square); textView1=view.findViewById(R.id.cart\u适配器\u text\u视图\u 1); textView2=view.findViewById(R.id.cart\u适配器\u text\u视图\u 2); textView3=view.findViewById(R.id.cart\u适配器\u text\u视图\u 3); 按钮=view.findViewById(R.id.cart\u适配器\u按钮); setOnClickListener(此); } 公共void setImageShapeSquare(字符串){ if(imageShapeSquare==null){ 返回; } 新的ImageLoader(imageShapeSquare.getContext()).fromNetwork(string,SaveLocation.Cache)。to(imageShapeSquare); } 公共void setTextView1(字符串){ if(textView1==null){ 返回; } textView1.setText(字符串); } 公共void setTextView2(字符串){ if(textView2==null){ 返回; } textView2.setText(字符串); } 公共void setTextView3(字符串){ if(textView3==null){ 返回; } textView3.setText(“₹ " + 字符串); } @凌驾 公共void onClick(视图){ if(onClickItemFeed!=null){ onClickItemFeed.onClickItemFeed(getAdapterPosition(),视图); } } } 公共接口OnClickItemFeed{ void onClickItemFeed(int位置,视图); } },java,android,firebase,android-studio,Java,Android,Firebase,Android Studio,这是我的视图持有者,我想从TextView 3中获取所有文本,然后添加值并以字符串形式获取它们 这是活动文件 public class CartActivityAdapter extends RecyclerView.Adapter<CartActivityAdapter.CartViewHolder> { private List<Cart> cartList; private OnClickItemFeed onClickItemFeed; public Cart
public class CartActivityAdapter extends RecyclerView.Adapter<CartActivityAdapter.CartViewHolder> {
private List<Cart> cartList;
private OnClickItemFeed onClickItemFeed;
public CartActivityAdapter(List<Cart> cartList, OnClickItemFeed onClickItemFeed) {
this.cartList = cartList;
this.onClickItemFeed = onClickItemFeed;
}
@NonNull
@Override
public CartActivityAdapter.CartViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.activity_cart_adapter, viewGroup, false);
return new CartActivityAdapter.CartViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull CartActivityAdapter.CartViewHolder categoryViewHolder, int position) {
Cart cart = cartList.get(position);
categoryViewHolder.setImageShapeSquare(cart.getCartImage());
categoryViewHolder.setTextView1(cart.getCartName());
categoryViewHolder.setTextView2(cart.getCartModel());
categoryViewHolder.setTextView3(cart.getCartPrice());
}
@Override
public int getItemCount() {
return cartList == null ? 0 : cartList.size();
}
public class CartViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private ImageShapeSquare imageShapeSquare;
private TextView textView1, textView2, textView3;
private Button button;
public CartViewHolder(View view) {
super(view);
imageShapeSquare = view.findViewById(R.id.cart_adapter_image_square_square);
textView1 = view.findViewById(R.id.cart_adapter_text_view_1);
textView2 = view.findViewById(R.id.cart_adapter_text_view_2);
textView3 = view.findViewById(R.id.cart_adapter_text_view_3);
button = view.findViewById(R.id.cart_adapter_button);
button.setOnClickListener(this);
}
public void setImageShapeSquare(String string) {
if (imageShapeSquare == null) {
return;
}
new ImageLoader(imageShapeSquare.getContext()).fromNetwork(string, SaveLocation.Cache).to(imageShapeSquare);
}
public void setTextView1(String string) {
if (textView1 == null) {
return;
}
textView1.setText(string);
}
public void setTextView2(String string) {
if (textView2 == null) {
return;
}
textView2.setText(string);
}
public void setTextView3(String string) {
if (textView3 == null) {
return;
}
textView3.setText("₹ " + string);
}
@Override
public void onClick(View view) {
if (onClickItemFeed != null) {
onClickItemFeed.onClickItemFeed(getAdapterPosition(), view);
}
}
}
public interface OnClickItemFeed {
void onClickItemFeed(int position, View view);
}
}
公共类CartActivity扩展AppCompatActivity实现CartActivityAdapter.OnClickItemFeed{
私人回收车视图(cart_recycler_view);;
私人名单;
FirebaseDatabase FirebaseDatabase;
数据库参考数据库参考;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u cart);
firebaseDatabase=firebaseDatabase.getInstance();
databaseReference=firebaseDatabase.getReference();
cart\u recycler\u view=findviewbyd(R.id.cart\u recycler\u view);
LinearLayoutManager LinearLayoutManager=新的LinearLayoutManager(CartActivity.this);
购物车\回收器\视图。setLayoutManager(linearLayoutManager);
cart\u recycler\u视图。setHasFixedSize(true);
TextView购物车文本视图=findViewById(R.id.cart文本视图);
按钮购物车按钮=findViewById(R.id.cart\u按钮);
}
私有作废cartRecyclerView(列表cartList){
CartActivityAdapter CartActivityAdapter=新的CartActivityAdapter(cartList,CartActivity.this);
cart\u recycler\u view.setAdapter(cartActivityAdapter);
}
@凌驾
受保护的void onResume(){
super.onResume();
cartList=newarraylist();
databaseReference.child(“购物车”).child(Objects.requireNonNull(FirebaseAuth.getInstance().getUid()).getRef().addValueEventListener(新的ValueEventListener()){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
cartList.clear();
对于(DataSnapshot快照:DataSnapshot.getChildren()){
购物车=snapshot.getValue(Cart.class);
cartList.add(购物车);
}
cartRecyclerView(cartList);
}
@凌驾
已取消的公共void(@NonNull DatabaseError DatabaseError){
}
});
}
@凌驾
公共void onClickItemFeed(int位置,视图){
购物车=购物车列表。获取(位置);
开关(view.getId()){
案例R.id.cart_适配器_按钮:
串串;
stringSKU=cart.getCartSKU();
databaseReference.child(“购物车”).child(Objects.requireNonNull(FirebaseAuth.getInstance().getUid()).child(stringSKU.removeValue();
打破
}
}
}
您需要的所有值都存储在您的适配器中,我看到的是列表。
。要将所有值相加,请执行以下操作:
public class CartActivity extends AppCompatActivity implements CartActivityAdapter.OnClickItemFeed {
private RecyclerView cart_recycler_view;
private List<Cart> cartList;
FirebaseDatabase firebaseDatabase;
DatabaseReference databaseReference;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
firebaseDatabase = FirebaseDatabase.getInstance();
databaseReference = firebaseDatabase.getReference();
cart_recycler_view = findViewById(R.id.cart_recycler_view);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(CartActivity.this);
cart_recycler_view.setLayoutManager(linearLayoutManager);
cart_recycler_view.setHasFixedSize(true);
TextView cart_text_view = findViewById(R.id.cart_text_view);
Button cart_button = findViewById(R.id.cart_button);
}
private void cartRecyclerView(List<Cart> cartList) {
CartActivityAdapter cartActivityAdapter = new CartActivityAdapter(cartList, CartActivity.this);
cart_recycler_view.setAdapter(cartActivityAdapter);
}
@Override
protected void onResume() {
super.onResume();
cartList = new ArrayList<>();
databaseReference.child("Cart").child(Objects.requireNonNull(FirebaseAuth.getInstance().getUid())).getRef().addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
cartList.clear();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
Cart cart = snapshot.getValue(Cart.class);
cartList.add(cart);
}
cartRecyclerView(cartList);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
@Override
public void onClickItemFeed(int position, View view) {
Cart cart = cartList.get(position);
switch (view.getId()) {
case R.id.cart_adapter_button:
String stringSKU;
stringSKU = cart.getCartSKU();
databaseReference.child("Cart").child(Objects.requireNonNull(FirebaseAuth.getInstance().getUid())).child(stringSKU).removeValue();
break;
}
}
}
你为什么不直接通过循环你的
cartList
来计算价格呢?看一看。请不要在这里添加投票建议-这只会鼓励投反对票。让人们自己投票吧。请不要使用标题框来写句子-它不是很可读。先生,有些人甚至没有阅读内容就进行了邀请…where你需要总额吗?在我的活动中,如果你需要在你的活动中的文本视图中显示,我不使用WhatsApp
double sum = 0.0;
double value = 0.0;
for(int i = 0; i < cartActivityAdapter.size(); i++)
try {
value = Double.parseDouble(cartActivityAdapter.get(i).getCartPrice());
} catch (NumberFormatException e) {
value = 0.0
}
sum += value;
}
textView.setText("" + sum);