1

私は2つの活動をしています。AからBまで決まった時間で行きたいです。Bに行った後、決まった時間にAに戻りたい。私はそれを検索しましたが、どこから始めればよいかわかりませんでした。threadまたはtimerまたはを使用する必要がありhandlerます。

以下のコードを理解しようとしています:

Handler activityChanger = new Handler();  
activityChanger.postDelayed(new Runnable(){
   startActivity(new Intent(this,about.class));
}, 10000);

誰かが私に例を与えることができれば、それは大きな助けになります。以下のコードを追加しました。

 Thread switchToActivityB = new Thread(new Runnable() {              
 @Override 
          public void run() {
            try {
              Thread.sleep(3000);
              Intent intent = new Intent(this, About.class);
              startActivity(intent);
              finish();
            } catch (Exception e) {

            }
          }
        });
        switchToActivityB.start();
4

4 に答える 4

1

コードを配置する場所は、どのようにしたいかによって異なります。たとえば、アクティビティ A にいるたびにこれを実行したい場合 (つまり、B に移動してから [戻る] を押すと、一定時間後に再びアクティビティ B に戻ることを意味します)、コードを配置する必要があります。onResume()メソッドで。

これを一度だけ実行したい場合は、onCreate()メソッドに入れるだけです

于 2013-08-13T09:48:17.913 に答える
0

あなたが説明したことについては、onStartまたはonResumeメソッドのいずれかを使用する必要があります。配置するとonCreate、アクティビティが破壊されないため、一度だけ実行されます。

説明したオプションのいずれかを使用できます。StartActivity 安全なメソッドであるため、UI スレッドの外部から呼び出すことができます。

于 2013-08-13T09:51:04.103 に答える
0
Thread switchToActivityB = new Thread(new Runnable() {
  @Override
  public void run() {
    try {
      Thread.sleep(3000); // The fixed time in milli seconds
      Intent intent = new Intent(activityA.this, activityB.class);
      startActivity(intent);
      finish();
    } catch (Exception e) {
      // Catch Exception
    }
  }
});
switchToActivityB.start();

onCreate() メソッドで、このコードをアクティビティ A に追加します。

アクティビティ B の onCreate() メソッドで同じことを行います

Thread switchToActivityA = new Thread(new Runnable() {
  @Override
  public void run() {
    try {
      Thread.sleep(3000); // The fixed time in milli seconds
      Intent intent = new Intent(activityB.this, activityA.class);
      startActivity(intent);
      finish();
    } catch (Exception e) {
      // Catch Exception
    }
  }
});
switchToActivityA.start();
于 2013-08-13T09:51:41.803 に答える
0

上記のコードを最初のアクティビティの onResume() に入れることができます。同様に、"about.java" onResume(). にアクティビティ名を少し変更した同じコードを入れます。

于 2013-08-13T09:50:58.170 に答える