我试图创建一个toast,它的值应该反映一个数字,并且应该在toast仍然显示时动态更改。我不想为价值的每一个变化创造新的祝酒词。对该值的更改应反映在现有显示的toast本身中。如果可能的话,我该怎么办?

最佳答案

您可以保存从makeText获得的toast实例,并用setText更新它。
更新的
代码:

public class MainActivity extends ActionBarActivity {

    private Toast mToast;

    private int count = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.toast).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(final View v) {
                if (mToast == null) {
                    mToast = Toast.makeText(MainActivity.this, "Count " + 0, Toast.LENGTH_LONG);
                }
                mToast.setText("Count " + count++);
                mToast.show();
            }
        });
    }
}

08-16 05:36