gpt4 book ai didi

android - 在 Activity 中调用 Fragment 方法导致空指针异常

转载 作者:行者123 更新时间:2023-11-29 01:11:38 24 4
gpt4 key购买 nike

我想在单击 FloatingActionButton 时调用 Fragment 方法。
我正在使用 Butterknife。

错误:

PID: 9956 java.lang.NullPointerException: Attempt to invoke virtual method 'void com.fischerdaniel.testapp.FirstFragment.setTvText()' on a null object reference

MainActivity 部分:

  @OnClick({R.id.fab_one, R.id.fab_two, R.id.fab_three}) public void test(View view) {
switch (view.getId()) {
case R.id.fab_three:
FirstFragment firstFragment = (FirstFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_first);
firstFragment.setTvText();
break;
default:
break;
}
}

fragment 部分:

    @BindView(R.id.et_one) EditText etOne;
@BindView(R.id.et_two) EditText etTwo;
@BindView(R.id.tv_one) TextView tvOne;
@BindView(R.id.tv_two) TextView tvTwo;

private Unbinder unbinder;

@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_first, container, false);
unbinder = ButterKnife.bind(this, view);

return view;
}

protected void setTvText() {
tvOne.setText(etOne.getText());
tvTwo.setText(etTwo.getText());
}

最佳答案

请参阅此链接:findFragmentById always returns null

创建 fragment 时,使用:

add(int id, Fragment fragment, String tag) 

然后要获取您的 fragment ,请使用:

findFragmentByTag(String tag)

关于android - 在 Activity 中调用 Fragment 方法导致空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42600005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com