0

2 つのクラスがあり、最初のクラスは 2 番目のクラスを呼び出すために使用されます

ファーストクラス

public boolean onOptionsItemSelected(MenuItem item) {
    Log.i(TAG, "Menu Item selected " + item);
    if (item == A) {
        SecondClassVariabel.setViewMode(SecondClass.Object_1);
    } else if (item == B) {
        SecondClassVariabel.setViewMode(SecondClass.Object_2);
    } 

セカンドクラス

public SecondClass(Context context) {
    super(context);
    Holder = getHolder();
    Holder.addCallback(this);
    Log.i(TAG, "Instantiated new " + this.getClass());
    SecondClassVariabel = Object_1;
}

public void surfaceCreated(SurfaceHolder holder) {
    Log.i(TAG, "surfaceCreated");
    (new Thread(this)).start();
}

protected Bitmap processFrame(byte[] data) {
    mYuv.put(0, 0, data);
    final int viewMode = Tampilan;

    switch (viewMode) {
    case Object_1:
        /** Call another sub class */
        break;
    case Object_2:
        /**Call another sub class */
        break;

================================================== ==========================

上記のプログラムは正常に動作しました。「Object_1」と「Object_2」を自動的に呼び出そうとしています..

*fyi = object_1 と object_2 を呼び出すには、ボタンを使用します。

ボタンを使用せずに、まず object_1 を呼び出してから object_2 を呼び出す Thread 関数または Delay 関数を追加したいと考えています。

コード...

public void surfaceCreated(SurfaceHolder holder) {
    Log.i(TAG, "surfaceCreated");
    (new Thread(this)).start();

そして(new Thread(this)).sleep(5000);//object_1 の場合、そして(new Thread(this)).sleep(5000);//object_2 の場合 }

遅延またはスレッド機能を使用する際の次の手順と混同しています..助けてください..

4

1 に答える 1