我想更改一个Fregment,并且在Gui建成后就应该执行一个方法。
到目前为止,我已经用线程解决了它。只有我认为必须有更好的方法。 在形成片段之前执行OnResume()。 没有人知道没有线程解决的方法吗?
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
fragmentRoot = inflater.inflate(R.layout.fragment_l2c_printersettings, container, false);
fragmentRoot.setFocusableInTouchMode(true);
fragmentRoot.requestFocus();
...
...
...
new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(1000);
loadPrinter();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
return fragmentRoot;
}
答案 0 :(得分:0)
我认为您可能正在片段中寻找public void onActivityCreated(Bundle savedInstanceState)
。
在创建片段的活动并实例化此片段的视图层次结构时调用。一旦这些部分就位,就可以用来进行最终初始化,例如检索视图或还原状态。这对于使用setRetainInstance(boolean)保留其实例的片段也很有用,因为此回调告诉片段何时将其与新的活动实例完全关联。在onCreateView(LayoutInflater,ViewGroup,Bundle)之后和onViewStateRestored(Bundle)之前调用。
答案 1 :(得分:0)
您可以在onViewCreated
中调用该函数。到调用onViewCreated
时,该片段已完全加载。