gpt4 book ai didi

android - 如何从另一个 Intent 中取消我在先前 Activity 中定义的 toast 消息?

转载 作者:行者123 更新时间:2023-11-30 03:01:22 25 4
gpt4 key购买 nike

在我将 Intent 传递给另一个类 UPCHandler 之后,我无法关闭我在 Activity BarcodeActivity 中创建的 toast 消息。由于我无法通过 Intent 传递 toast,因此我无法找到一种方法来从 UPCHandler Intent 中操作 toast 消息。

条码 Activity :

public void didScanBarcode(String barcode, String symbology) 
{
// Remove non-relevant characters that might be displayed as rectangles
// on some devices. Be aware that you normally do not need to do this.
// Only special GS1 code formats contain such characters.
String cleanedBarcode = "";

for (int i = 0 ; i < barcode.length(); i++)
{
if (barcode.charAt(i) > 30)
{
cleanedBarcode += barcode.charAt(i);
}
}

try
{
//stops scanner
mBarcodePicker.stopScanning();
Log.e("CleanedUPC", cleanedBarcode);

/* Toast Setup */
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout,
(ViewGroup) findViewById(R.id.toast_layout_root));

TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Fetching your results...");

Toast toast = BarcodeActivity.toast;
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();

@Override
public String dataRetreived()
{/*
Intent i = new Intent(getApplicationContext(), UPCHandler.class);

Bundle bundle = new Bundle();
bundle.put("value", inputTransacVal.getText());

i.putExtras(bundle);

startActivity(i);*/
ItemsDto idt = hand.getFirstUpc();

if (idt == null)
{
Log.e("BarcodeActivity:didScanBarcode", "UPC is NULL");
toast.cancel();
}
else
{
Intent intn_display = new Intent("com.ahold.scan.DISPLAYSCREEN");
Intent intn_warning = new Intent("com.ahold.scan.WARNINGSCREEN");

ImageLoader imgLoad = new ImageLoader(idt.getImageUrl(), context, idt)


*/

}
return null;

}
});

}
catch(Exception e)
{
//throws an error message to logcat if it catches one
Log.e("IntentStartError", e.toString());
}
}

最佳答案

您可以尝试做两件事:

  1. 在切换 Activity 之前关闭 Toast,在您的 Intent 中传递需要重新显示 Toast 的指示,并在新 Activity 中显示它。
  2. 传递 toast 。将它放在某处的静态变量中,如果它不为空,则在您的新 Activity 中将其取消。请记住,它可能为空,因为 Android 可以终止您的进程并在 Activity 之间再次启动它。

关于android - 如何从另一个 Intent 中取消我在先前 Activity 中定义的 toast 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22488611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com