2017-03-09 13 views
1

G'Day、 問題は単純で、AppCompatActivity imのフラグメントを置き換える方法では簡単で、後でその一部の値を直接変更したいという問題があります。例についてはフラグメントを配置した直後にフラグメントの要素を見つけることができません

public void onResume(){ 
    Fragment FR = new Fragment(); 
    FragmentTransaction FT = getSupportFragmentManager().beginTransaction(); 
    FT.replace(containerID, FR); //The Container is a FrameLayout 
    FT.commit(); 

    findViewById(R.id.someTextView).setId(SomeID); //This throws a NullPointerException 

} 

正確には:私のビューを見つける方法をjava.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.View.setId(int)' on a null object reference

任意のアイデア?

答えて

0

コミットの代わりにcommitNowを使用する必要があります。 フラグメントは、実際にはコミット命令の後には配置されません。 commitNowはコミットを同期的に実行するので、後でそのビューを見つけることができるはずです。

1

getView()はonCreateView()の後でのみ機能するため、上記のように使用することはできません。

関連する問題