Toastの正しい開き方-Toast複数回表示が消えない-toast表示の問題
1918 ワード
最初にandroidを勉強したとき、簡単で便利なように、Toast、情報提示ボックスを表示したいとき.簡単な言葉で言います.
(PS:MainActivity.this自分が自分の環境を見て修正)
長所:書きやすい
欠点:いくつかの変態テスト員に出会ったとき、彼らは狂ったようにあなたのこのToastを表示するbuttonをクリックしたとき、情報弾窓はあなたのappに何度も表示され、あなたがアプリケーションを終了しても彼らは消えません.これは本当にユーザー体験に影響しすぎて、自分で見ても不快です.しかし、私も料理をしています.どうせ解決策が見つからなかったのです.
しかし、ついにある時、科大訊飛の中のdemoを見たとき、彼らがToastを書いたのを見て、自分でどう注文しても、どうせすぐに消えてしまった.何度も表示されず、画面に表示されている書き方.
個人的にはこの書き方だと思いますが、素敵です.やっと私の長い間の心の中の恨みを解決した.
コードは次のとおりです.
説明します.
いずれにしても2つ目の書き方をするときは、どんなにbutton 2を狂っても、Toastを表示するのは1回しか表示されません.何度も表示されません.何度もbuttonをクリックすることもなく、そのtoastは長い間消えなくなった.
具体的な原理は、私も知らないので、皆さんに補充してください.
どうせ完璧に解決したので、toastは問題を表示します.
ソースコードDemoこれはandroid studioのコードです.
皆さん、android studioで開けてください.自分で私の上の勝手に書いてもいいです.
Toast.makeText(MainActivity.this, " android ", Toast.LENGTH_SHORT).show();
(PS:MainActivity.this自分が自分の環境を見て修正)
長所:書きやすい
欠点:いくつかの変態テスト員に出会ったとき、彼らは狂ったようにあなたのこのToastを表示するbuttonをクリックしたとき、情報弾窓はあなたのappに何度も表示され、あなたがアプリケーションを終了しても彼らは消えません.これは本当にユーザー体験に影響しすぎて、自分で見ても不快です.しかし、私も料理をしています.どうせ解決策が見つからなかったのです.
しかし、ついにある時、科大訊飛の中のdemoを見たとき、彼らがToastを書いたのを見て、自分でどう注文しても、どうせすぐに消えてしまった.何度も表示されず、画面に表示されている書き方.
個人的にはこの書き方だと思いますが、素敵です.やっと私の長い間の心の中の恨みを解決した.
コードは次のとおりです.
public class MainActivity extends AppCompatActivity {
private Button button1,button2;
private Toast mToast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToast = Toast.makeText(MainActivity.this, "", Toast.LENGTH_SHORT);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "1", Toast.LENGTH_SHORT).show();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast("2");
}
});
}
public void showToast(final String str) {
mToast.setText(str);
mToast.show();
}
}
説明します.
いずれにしても2つ目の書き方をするときは、どんなにbutton 2を狂っても、Toastを表示するのは1回しか表示されません.何度も表示されません.何度もbuttonをクリックすることもなく、そのtoastは長い間消えなくなった.
具体的な原理は、私も知らないので、皆さんに補充してください.
どうせ完璧に解決したので、toastは問題を表示します.
ソースコードDemoこれはandroid studioのコードです.
皆さん、android studioで開けてください.自分で私の上の勝手に書いてもいいです.