簡體   English   中英

在 arrayadapter 單擊后使快餐欄出現

[英]Make snackbar to appear after arrayadapter click

我有一個顯示項目列表的ArrayAdapter

每個項目都有一個按鈕。

單擊按鈕時,我想顯示snackbar (現在它顯示一條吐司消息)。

我想知道如何在ArrayAdapter中使用這樣的東西?

    Snackbar snackbar = Snackbar.make(findViewById(android.R.id.content),text,Snackbar.LENGTH_SHORT);
    View sbView = snackbar.getView();
    sbView.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));

    TextView tv = (TextView) (snackbar.getView()).findViewById(com.google.android.material.R.id.snackbar_text);
    Typeface font = ResourcesCompat.getFont(getBaseContext(), R.font.assistant);
    tv.setTypeface(font);
    tv.setTextSize( 14 );

    snackbar.setAnchorView(findViewById( R.id.bottom_navigation ));

    snackbar.setDuration( 5000 );
    snackbar.show();

因為我什至在適配器中都沒有 findVireById。

適配器的具體部分是:

viewHolder.btn_AddToMyItems.setOnClickListener( v -> {

auth = FirebaseAuth.getInstance();
db = FirebaseFirestore.getInstance();

Intent intent = new Intent(getContext(), MyItemsActivity.class);

Map<String, Object> general_item = new HashMap<>();
general_item .put( "ItemID", item.getId() );
general_item .put("DateCreated", FieldValue.serverTimestamp());

CollectionReference colRefMyItems = db.collection( "Users" ).document( auth.getUid() ).collection( "MyItems" );
Query queryMyItems = colRefMyItems.whereEqualTo("ItemsID", item.getId());
queryMyItems.get().addOnCompleteListener( task -> {
    if (task.isSuccessful()) {
        QuerySnapshot snapshot = task.getResult();
        if (snapshot.isEmpty()){
            db.collection( "Users" ).document( auth.getUid() ).collection( "Items" ).add( general_item );
            Toast.makeText(getContext(), "The item was added successfully", Toast.LENGTH_SHORT).show();
        } else{
            Toast.makeText(getContext(), "This item is already on your list", Toast.LENGTH_SHORT).show();
        }
        intent.putExtra( "TAG","999");
    }
} );

謝謝

    viewHolder.btn_AddToMyItems.setOnClickListener( v -> {

auth = FirebaseAuth.getInstance();
db = FirebaseFirestore.getInstance();

Intent intent = new Intent(getContext(), MyItemsActivity.class);

Map<String, Object> general_item = new HashMap<>();
general_item .put( "ItemID", item.getId() );
general_item .put("DateCreated", FieldValue.serverTimestamp());

CollectionReference colRefMyItems = db.collection( "Users" ).document( auth.getUid() ).collection( "MyItems" );
Query queryMyItems = colRefMyItems.whereEqualTo("ItemsID", item.getId());
queryMyItems.get().addOnCompleteListener( task -> {
    if (task.isSuccessful()) {
        QuerySnapshot snapshot = task.getResult();
        if (snapshot.isEmpty()){
            db.collection( "Users" ).document( auth.getUid() ).collection( "Items" ).add( general_item );
           Snackbar.make(v,"The item was added successfully",Snackbar.LENGTH_LONG).show();
        } else{
Snackbar.make(v,"This item is already on your list",Snackbar.LENGTH_LONG).show();
            
        }
        intent.putExtra( "TAG","999");
    }
} );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM