gpt4 book ai didi

android - 如何取消在android上以不同方法创建的Toast?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:33 26 4
gpt4 key购买 nike

我有以下代码:

private Toast movieRecordToast;

private void displayNextMovie() {
if (movieRecordToast != null) movieRecordToast.cancel(); // cancel previous Toast (if user changes movies too often)
movieRecordToast = Toast.makeText(getApplicationContext(), "Next", Toast.LENGTH_SHORT);
movieRecordToast.show();

private void displayPrevMovie() {
if (movieRecordToast != null) movieRecordToast.cancel();
movieRecordToast = Toast.makeText(getApplicationContext(), "Prev", Toast.LENGTH_SHORT);
movieRecordToast.show();

但是,如果多次快速调用 displayNextMovie,然后调用 displayPrevMovie,“Next”Toast 仍然显示,只有在显示“Prev”之后。取消似乎无法正常工作。

最佳答案

不必在每次想要显示新文本时都创建一个新的 Toast 对象,您可以轻松地仅保留一个 Toast 对象并取消当前的 Toast 随时随地。在显示下一个 Toast 之前,您可以使用 Toast.setText() 函数更改文本。

示例代码:

private Toast mToastText;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// Create the object once.
mToastText = Toast.makeText(this, "", Toast.LENGTH_SHORT);
}

private void displayText(final String message) {
mToastText.cancel();
mToastText.setText(message);
mToastText.show();
}

关于android - 如何取消在android上以不同方法创建的Toast?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5503682/

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