2016-06-14 5 views
0

私のアプリの表示アクティビティ。ユーザーがボタンを押すと、アプリケーションはフラグメント化されます。断片は7つのフラグメントになります。ユーザーはフラグメントの1つからボタンを押します。文字列と整数値をアクティビティに渡します。アプリケーションはアクティビティを開きます。 startActivityforResult()によって、Activityからフラグメントに移動しようとしました。フラグメントからアクティビティにデータを送信しようとしましたが、アプリケーションが停止しました。フラグメントでstrartActivityforResult()でフラグメントのデータを渡します

活動で

 Intent a =new Intent("android.intent.action.DEFAULT"); 
       startActivityForResult(a,1); 

    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (requestCode ==1) 
    { 

     newnamem =data.getExtras().getString("name"); 
     newcm=data.getExtras().getInt("calory"); 
     return; 

    } 
    } 

Intent a = new Intent(getActivity(),main.class); 
      a.putExtra("calory", Content.Mil001.calory); 
      a.putExtra("name", Content.Mil001.meal); 
      getActivity().fnish(); 
+0

。? – Isuru

答えて

0

私が使用する3つの方法があります。

  • インターフェイスの実装 - getterメソッドとsetterメソッド(コールバックメソッド)を使用してインターフェイスを作成します。あなたのアクティビティでは、インターフェイスを実装し、それらのメソッドを呼び出します。
  • パブリックメソッドの使用 - あなたのアクティビティで、パブリックゲッターとセッターメソッドを作成します。

    例:。getActivity()getCalory()、getActivity()setCalory(引数)

  • 使用EventBusアプリがクラッシュし得るどのようなエラーhttps://github.com/greenrobot/EventBus

関連する問題