0

次のコードがありますが、direct()メソッドを使用しないようにしています。

JExpression jx = JExpr.direct("java.lang.Thread.currentThread() == android.os.Looper.getMainLooper().getThread()");

使用に関するドキュメントを見つけようとし_if()ましたが、いくつかの単純なものを機能させることができましたが、direct() を使用せずにそのようなものを生成する方法がわかりません。誰かがこれを行う方法を知っているか、いくつかの例を示す良い場所を知っていますか? javadocs をマイニングしてみましたが、良いものが見つかりませんでした。

4

1 に答える 1

0

返信が遅くなり申し訳ありません。

コードを生成する際に、次のようなクラスを参照する必要があります。

    java.lang.Thread
    android.os.Looper

JCodeModel programContext = new JCodeModel();

JExpression ifConditionExpression = JExpr.(programContext.ref(java.lang.Thread).staticInvoke("currentThread").eq(programContext.ref(android.os.Looper).staticInvoke("getMainLooper").invoke("getThread"))) 

この式を if() 式として使用します。

この問題が解決することを願っています。

于 2013-07-21T08:50:00.750 に答える