0

私はFloatingActionMenu にFloatingActionButtonを追加しようとしていますが、FloatingActionButtonのinitilization中にコンテキスト を得ることができないとき、すべてのメソッドはnullを返しは、フラグメントクラスにFloatingActionMenuにFloatingActionButtonを追加することはできません

が、これは私のフラグメントが

import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import com.getbase.floatingactionbutton.FloatingActionButton; 
import com.getbase.floatingactionbutton.FloatingActionsMenu; 
import demo.com.example.syed.test.R; 
public class stdDetails extends android.support.v4.app.Fragment { 
    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    FloatingActionMenu detailsfabmenu=(FloatingActionMenu)Container.findViewById(R,id,std_Main_Detials_fab_menu); 
    FoatingActionButton(getContext()); 
    detailsfabmenu.addButton(changename); 
    return inflater.inflate(R.layout.stddetailsfragment,container,false); 
}} 

を呼び出していますコード

FloatingActionButton changename=new FloatingActionButton(getContext()); 

戻り値null 私もavilabelに基づいて、次のオプションを試してみましたが

FloatingActionButton changename=new FloatingActionButton(container.getContext()); 

FloatingActionButton changename=new FloatingActionButton(getActivity().getApplicationContext()); 

FloatingActionButton changename=new FloatingActionButton(this.getContext()); 

FloatingActionButton changename=new FloatingActionButton(this.getActivity().getApplicationContext()); 

に答えて、このすべての回答者のここ Using context in a fragment

答えて

0

提供される。これは、あなたがFABを初期化する方法である:ここでは

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fabBtn); 

fabBtnはIDですあなたのFABのレイアウトXMLファイルで。

更新:

のコード行を使用します。

FloatingActionButton changename=new FloatingActionButton(getBaseContext()); 
+0

はい、あなたは、ファブボタンをinitilizingについてライトをしているが、私はbutton.Iを追加することができない方法を使用する場合は、このexapmle HTTPSで与えていただきましimplimentしようとしています: //github.com/futuresimple/android-floating-action-button/blob/master/sample/src/main/java/com/getbase/floatingactionbutton/sample/MainActivity.java –

+0

@Syed更新された回答を参照してください。 – AlphaQ

+0

私はあなたのアイデアを得るが、私はどのボタンも望んでいないが、私はあなたのアイデアを得る –

0

あなたが特定のフラグメントのためのあなたのファブを表示したい場合は、MainActivity

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fabBtn); 
fab.show(). 

からあなたのフローティングアクションボタンを呼び出す必要がありますフラグメントタグを使用することができます:

Fragment fragmentA = new FragmentA(); 
getFragmentManager().beginTransaction() 
.replace(R.id.MainFrameLayout,fragmentA,"YOUR_TARGET_FRAGMENT_TAG") 
.addToBackStack("YOUR_SOURCE_FRAGMENT_TAG").commit(); 

そして、あなたがMainactivityで所望の断片を持っているならば、チェックは:

if(currentFrag.equals("YOUR_TARGET_FRAGMENT_TAG")){ 
     fab.show(); 
    } 
    else 
     fab.hide(); 
+0

私はonCreateメソッドの下でそれを使用する場合は、メソッドの下で私はあなたのアイデアを得る(ビューを見る、@ NullableバンドルsavedInstanceState)私の主な活動は、フラグメント化されたfloatingactionbuttonにボタンを追加したいのです。InboxアプリケーションのFabのようにする必要があります。 –

+0

いいえ、まさしく主なアクティビティではありません。その活動は、あなたの断片によって膨らみます。 – tahsinRupam

関連する問題