G'日
问题很简单,在AppCompatActivity的onResume()
方法中,我更换了一个片段,并希望在此之后直接更改其子节点的某些值。
例如:
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 :(得分:1)
由于getView()只能在onCreateView()之后工作,所以你不能像上面那样使用它。
答案 1 :(得分:0)
您应该使用commitNow而不是提交。 在提交指令之后,片段实际上没有附加到位。 commitNow将同步执行提交,您应该能够在之后找到该视图。