0

Androidアプリの1つで奇妙な問題が発生しました。私は自分自身を説明します:

  • アクティビティであるSplashScreen(一種)があります。基本的には1秒間留まり、その後ハンドラーが呼び出されます。このハンドラーは、HomeActivity拡張するmyを起動しますRoboActivity(Roboguice API)。

  • この起動中に、スタックトレースで、Roboguiceが初期化されていることがわかります。また、クラスも初期化されています。HomeActivityしたがって、 (SplashScreenの1秒の待機後)起動するのにさらに1〜2秒かかります。

  • だから基本的に、これは私が問題を抱えたここにあります。この1〜2秒間の読み込み中、SplashScreenが前面に表示さHomeActivityれ、この2秒後にのみ表示されます。ユーザーがこれらの秒の間に画面をクリックするとHomeActivity、イベントがトリガーされます。これは、SplashScreenをクリックして待機すると、HomeActivityが表示されるときにクリック音が聞こえ、ユーザーがクリックした場所にあるボタンがトリガーされることを意味します。

私はそれがユーザーにとって非常に気がかりだと思います。だから、現時点では、私はしようとしました:

  • 追加してxmlレイアウトのボタンを非アクティブ化します

                android:enabled="false"
                android:clickable="false"
    
  • onResume関数を追加して、ボタンを再度アクティブにします。

    button.setEnabled(true);
    button.setClickable(true);
    
  • OnClickListenerスタックトレースで、がの直後にトリガーされることがわかりonResumeます。そのため、この時点でボタンが再度有効になり、クリックします。postOnResumeも試してみましたが、どちらも機能しません。

あなたは私が今しているのと同じ行動を経験しましたか?それを修正する方法はありますか?

4

0 に答える 0