2017-01-17 16 views
0

私には解決方法がわからない問題があります。検索するアドレスのフラグメントマップを起動してください

editTextおよびbuttonを有するフラグメントを有する。

public void onClick(View view) { 
     //Fragment fragment = null; 

     switch (view.getId()) { 
      case R.id.SearchButton: 

       Home activity = (Home) getActivity(); 
       if(activity != null)activity.openMapFragment(); 
       break; 
     } 

と機能openMapFragment()::私は地図の断片上を探すためのアドレスとしてeditTextフィールドに挿入されたテキストを送信するために行うだろうか

public void openMapFragment(){ 
     Fragment fragment = new gMapFragment(); 
     replaceFragment(fragment); 
    } 

buttonは、このようなフラグメントマップを起動します?

public void openMapFragment(String args){ 
    Fragment fragment  = new gMapFragment(); 
    Bundle bundle   = new Bundle(); 
    bundle.putString("foo", args); 
    fragment.setArguments(bundle); 
    replaceFragment(fragment); 
} 

し、データを取得する:

+2

は、この意志はあなたがhttp://stackoverflow.com/a/12739968/役に立てば幸い3790150 – saeed

+0

ありがとう、それは助けた。 – Capie

答えて

1

あなたはフラグメントにデータを渡すために、バンドルを使用する必要があります

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    //... 
    String foo = getArguments() != null ? getArguments().getString("foo") : ""; 
    //... 
} 
+0

これをやれば、フラグメント(この場合は "foo")上のパラメータをどのように回復できますか?編集:私はすでにどのように見た。ありがとう。 – Capie

+0

NullPointerExceptionを修正する方法はありますか? – Capie

+0

コードを表示し、例外メッセージ – Yoleth

関連する問題