安卓在活动中获取碎片视图[重复]。

问题描述 投票:0回答:1

我有一个活动,让我们把它称为 A,然后它就会发射一个片段,像这样。

remoteFragment = new RemoteFragment();
getSupportFragmentManager()
        .beginTransaction()
        .replace(R.id.frameLayout_remote_activity, remoteFragment)
        .commit();

my remoteFragment 看起来像这样。

public Button okBtn;

public RemoteFragment() {
    // Required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_remote, container, false);
    okBtn= view.findViewById(R.id.okBtn);

    return view;
}

public RemoteLayoutView getOkBtn() {
    return okBtn;
}

而在我的活动中,我试图让它像这样。

Button okBtnMessageNotWorking = remoteFragment.getOkBtn();

但是 okBtnMessageNotWorking 始终是空的。

我的问题是如何从我的活动中的片段中获取视图对象?

android android-fragments android-activity fragment android-fragmentactivity
1个回答
0
投票

在这里,你试图找到来自于 layoutOnTopScrollview. 相反,你应该找到 okBtn 从膨胀的视图。请修改如下代码。

@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_remote, container, false);
    okBtn= view.findViewById(R.id.okBtn);

    return view;
}

另外,请确保你在创建片段后就调用这个方法。

© www.soinside.com 2019 - 2024. All rights reserved.