1

プラグインのコルドバを介してアクティビティからアクティビティにジャンプするときに、追加情報をバンドルに入れてインテントと一緒に渡すことができるようにしたいと考えています。現在のアクティビティを取得してから値を取得する際に問題があるようです

public int getCounter(){return counter;}

onCreateが渡されたバンドルの値にカウンターを設定するアクティビティ定義があります。

私は、次のアクティビティの意図を実行する Cordova プラグインを使用しています。

エコー クラスは、html クリックに基づいてアクティビティ間をジャンプするメディアです。

//In the Class:   public class Echo extends CordovaPlugin
private void launchSecondActivity(String data, CallbackContext cc){
    Bundle b = new Bundle();
    int tmp = ((SecondaryActivity)cordova.getActivity()).getCounter();
    tmp++;
    b.putInt("id", tmp);
    Intent i = new Intent(cordova.getActivity().getApplicationContext(), SecondaryActivity.class);
    i.putExtras(b);
    cordova.getActivity().startActivity(i);

    cc.success();
}

次の行で、カウンターを tmp に割り当てようとすると、ある種のセグ フォールトが発生するようです。

int tmp = ((SecondaryActivity)cordova.getActivity()).getCounter();

私が間違っていることはありますか?現在アクティブなアクティビティを取得し、そのアクティビティでパブリック関数を呼び出そうとしています。

最終目標:私は int を取り、それをインクリメントしてインテントに渡し続けようとしています。そうすれば、アクティビティ チェーンの深さを知ることができます。私はネストされた状態の保存に取り組んでおり、いつでも深さに興味があります。アクティビティに渡される tmp は毎回インクリメントされるため、深さが維持されます。

4

1 に答える 1