2

アクティビティをリセットするボタンを設定しました。何度もすばやく押すと、アクティビティがキューに入れられるだけでなく (押し戻すと、アクティビティの別のインスタンスが存在するなど)、クラッシュする可能性があります。これらのことが起こらないようにするために私にできることはありますか?

onClick メソッドで使用しているコード:

Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);
4

3 に答える 3

0

これを試して

btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                                btn.setEnabled(false);
                Intent intent = getIntent();
                                startActivity(intent);
                                finish();

            }
        });
于 2013-08-07T11:48:25.403 に答える
0

try/catchを使用してクラッシュが発生しないことを確認し、recreate()メソッドを使用してアクティビティを再開することもできます。

   try{
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               button.setEnabled(false);

                recreate();

               button.setEnabled(true);
            }
        });
    }catch (Exception e ){
        Log.e("TAG",e.getMessage());
    }
于 2017-04-23T05:26:50.967 に答える