-1

アクティビティ 1 からアクティビティ 2 にジャンプしようとしていますが、1 秒後です。だから私は Thread.sleep(1000) を使用し、その後アクティビティ 2 が前面に出てきました。うまく機能していますが、問題はアクティビティ 1 に表示されていない画像の背景を与えたことです。

 public class Activity1 extends Activity {
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        try {

        Thread.sleep(1000);
        Intent i=new Intent(Activity1.this,Activity2.class );
        startActivity(i);
        } catch (InterruptedException e) {

            e.printStackTrace();
        }

    }

さらに、アクティビティ 1 にジャンプする機能を実行するボタンをアクティビティ 2 に含めました。この場合、画像は 1 秒間表示されますが、アプリを開いたときに初めて表示されるわけではありません。

4

2 に答える 2

0

RelativeLayoutを作成して表示/非表示にし、1つのアクティビティのみを使用できます

public class MyView extends RelativeLayout{

 private ImageView view = ....;

 ....
 view.setVisibility(View.VISIBLE);
 ....
 view.setVisibility(View.GONE);

}
于 2012-11-17T20:49:23.017 に答える
0

onCreate() が終了するまで、UI は構築されません。したがって、onCreate() でアクティビティ 2 を開始すると、アクティビティ 1 は表示されません。

その代わり:

@Override
void onAttachedToWindow()  {
    // start activity 2
}

他の人がコメントで言っているように、UI スレッドでスリープを使用しないでください。実際、私は Java がスリープの使用をもっと難しくしてくれることを願っています。

この場合、 を使用しAsyncTaskて、1 秒後に 2 番目のアクティビティを開始する必要があります。

于 2012-11-17T20:45:00.700 に答える