使小吃栏在阵列适配器单击后出现



我有一个显示项目列表的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();

因为我在适配器中甚至没有找到VireById。

适配器的特定部分是:

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");
}
} );

最新更新