2016-08-19 5 views
0

@ViewById注釈がDialogFragmentで機能していません。DialogFragmentのAndroidAnnotationsによってビューが挿入されない

私はinit()はチェーンのためMyDialogFragmentを返す私のカスタムメソッドです

MyDialogFragment_.builder() .build() .init(someObject, new ClickListener() {...}) .show(getFragmentManager(), "myDialog");

を行うことによって、フラグメントを作成@EFragment(R.layout.mydialogfragment)

を使用しています。

私はOnCreateDialogを無効にしませんでした。onCreateViewを無効にしませんでした。また、AndroidAnnotationsの@After...注釈も使用していません。

私はinit()メソッドで注入ビューを使用しようとしていますが、nullです。

答えて

2

私が質問を入力したのと同じように、私は何が間違っているのか分かりました。私は、build()が返された時点でビューが注入されると仮定していたので、init()メソッドで使用することはできましたが、そうではありませんでした。修正は別のメソッドに@AfterViewsアノテーションを付けてビューに関連する初期化を行うことでした。

0

は、どのように私はAAと私のDialogFragmentを作成することができます。

@EFragment(R.layout.my_fragment_layout) public class MyDialogFragment extends DialogFragment { 

    @ViewById TextView myTextView; 
    @ViewById Button myButton; 

    public static MyDialogFragment_ newInstance() { 
    MyDialogFragment_ f = new MyDialogFragment_(); 
    return f; 
    } 

    @AfterViews void init() { 
    // something 
    } 

} 

は、どのように私はそれを起動することができますか?

FragmentTransaction ft = fragmentManager.beginTransaction(); 
DialogFragment newFragment = MyDialogFragment.newInstance(); 
newFragment.show(getSupportFragmentManager(), "dialog"); 
関連する問題