0

私のネイティブ拡張のネイティブ Java コードでは、特定のページにジャンプする必要があります。私が試したのは、FREFunction オブジェクトの呼び出し関数で新しいアクティビティを開始することです。私のコードは次のようになります。

`ComponentName comp = new ComponentName(arg0.getActivity() ,SecondActivity.class);
Intent intent = new Intent();
intent.setComponent(comp);
arg0.getActivity().startActivity(intent);`

public class SecondActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second);
                EditText show = (EditText) findViewById(R.id.show);
                ComponentName componentName = getIntent().getComponent();
    show.setText("组件包名");
}

}

ddms の logcat から、SecondActivity クラスが実行されたと確信していますが、setContentView(R.layout.second); で失敗しました。私のネイティブコードの何が問題なのですか?どうすれば対処できますか?誰かが私を助けたり、同じアドバイスをくれたりできますか?

4

2 に答える 2

0

残念ながら、R.* 短縮形を使用して ANE 内からリソース ID にアクセスすることはできません。

あなたに役立つかもしれない小さなヘルパークラス/関数を書きました:

http://labs.distriqt.com/post/1245

基本的に、リソースのリソース パッケージを検索します。

FREContext インスタンスにアクセスできる場合は、getResourceId 関数も使用できます。詳細については、次を参照してください。

http://help.adobe.com/en_US/air/extensions/WS39e706a46ad531be-fd70de2132a8f3874e-8000.html#WS39e706a46ad531be-fd70de2132a8f3874e-7fff

于 2013-02-03T04:47:34.367 に答える