Android 如何从父活动的片段访问视图?
嗨,我想通过点击片段中的按钮来找出如何替换片段 我试着调查这件事,但对我来说不起作用Android 如何从父活动的片段访问视图?,android,android-fragments,Android,Android Fragments,嗨,我想通过点击片段中的按钮来找出如何替换片段 我试着调查这件事,但对我来说不起作用 View view = getSupportFragmentManager().findFragmentById(R.id.fragment_container).getView(); btnGoToSignUp = view.findViewById(R.id.btnGoToSignUp); 我试过了,但还是出错了 原因:java.lang.NullPointerException:尝试调用虚拟机
View view = getSupportFragmentManager().findFragmentById(R.id.fragment_container).getView();
btnGoToSignUp = view.findViewById(R.id.btnGoToSignUp);
我试过了,但还是出错了
原因:java.lang.NullPointerException:尝试调用虚拟机
方法“android.view.view android.support.v4.app.Fragment.getView()”
关于空对象引用
你可以这样做: 接口:
公共接口BtnClickable{
作废myClickMethod(视图五);
}
片段:
公共类SomeFragment{
BtnClickable BtnClickable;
//…onCreateView等。
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根=充气机。充气(R.layout.fragment\u add\u note,container,false);
按钮btnGoToSignUp=root.findViewById(R.id.btnGoToSignUp);
btnGoToSignUp.setOnClickListener(新的OnClickListener(){
公共void onClick(视图v)
{
btnClickable.myClickMethod(v);
}
});
}
公共静态无效设置ClickListener(BtnClickable listener){
btnClickable=侦听器;
}
活动:
getSupportFragmentManager().findFragmentById(R.id.fragment\u容器)=null
这意味着您的片段甚至不存在,即当您尝试访问片段的视图时,片段被销毁。嗨,我认为您的路径正确,但我有以下错误java.lang.NullPointerException:尝试调用接口方法'void com.exam'空对象引用上的ple.android.memo.FragmentCommunicator.changeFragment(android.view.view,java.lang.String)”
class MyActivity implements BtnClickable {
//...onCreate etc instantiating your fragments
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.filters);
SomeFragment.setClickListener(this);
}
public void myClickMethod(View v) {
// you can listen here for btn clicked
}
}