Snackbar onclick 执行 ondismiss 操作
Snackbar onclick do ondismiss action
你好,我的应用程序有一个扫描仪,如果代码不对应任何内容,它会显示一个小吃栏,询问用户是否要通过单击小吃栏按钮将扫描的产品添加到数据库中,然后继续如果用户关闭 LENGTH_INDEFINITE 快餐栏,到主 activity,但是当我单击时,它也会执行 ondismiss 消息:
Snackbar.make(coordinatorLayoutView, "Aucun produit correspondant", Snackbar.LENGTH_INDEFINITE) //Si il n'y a pas de produit correspondant, affiche un snackbar qui propose de l'ajouter a la base de donnée
.setCallback(new Snackbar.Callback() {
@Override
public void onDismissed(Snackbar snackbar, int event) {
Log.i("Snack", "dismiss");
startActivity(new Intent(ScannerResultActivity.this, HomeActivity.class));
}
}).setAction("Ajouter", new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(ScannerResultActivity.this, ScannerResultAddProductActivity.class);
intent.putExtra("ean", getIntent().getStringExtra("ean"));
Log.i("Snack", "onclick");
startActivity(intent);
finish();
}
}).show();
单击 Snackbar
的操作时,会调用 Snackbar
的 onDismiss()
方法(因为 Snackbar
在单击其操作时默认被关闭),因此您的代码将首先调用 onClick()
方法,然后调用 onDismiss()
方法。
为什么为此使用 Snackbar 小部件?
您可以使用 AlertDialog
轻松完成此操作
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Do you want to add this to the database?")
.setCancelable(true)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
alert.show();
你好,我的应用程序有一个扫描仪,如果代码不对应任何内容,它会显示一个小吃栏,询问用户是否要通过单击小吃栏按钮将扫描的产品添加到数据库中,然后继续如果用户关闭 LENGTH_INDEFINITE 快餐栏,到主 activity,但是当我单击时,它也会执行 ondismiss 消息:
Snackbar.make(coordinatorLayoutView, "Aucun produit correspondant", Snackbar.LENGTH_INDEFINITE) //Si il n'y a pas de produit correspondant, affiche un snackbar qui propose de l'ajouter a la base de donnée
.setCallback(new Snackbar.Callback() {
@Override
public void onDismissed(Snackbar snackbar, int event) {
Log.i("Snack", "dismiss");
startActivity(new Intent(ScannerResultActivity.this, HomeActivity.class));
}
}).setAction("Ajouter", new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(ScannerResultActivity.this, ScannerResultAddProductActivity.class);
intent.putExtra("ean", getIntent().getStringExtra("ean"));
Log.i("Snack", "onclick");
startActivity(intent);
finish();
}
}).show();
单击 Snackbar
的操作时,会调用 Snackbar
的 onDismiss()
方法(因为 Snackbar
在单击其操作时默认被关闭),因此您的代码将首先调用 onClick()
方法,然后调用 onDismiss()
方法。
为什么为此使用 Snackbar 小部件?
您可以使用 AlertDialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Do you want to add this to the database?")
.setCancelable(true)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
alert.show();