基本上,我有一个详细片段的列表,每个片段代表该手机的对等端列表。当点击其中一个DeviceDetails时,会显示一系列按钮和文本。这些按钮和文本中的哪一个显示取决于手机的状态;它要么已连接到正在使用的手机,要么可用于连接。
我目前使用片段的onCreateView来显示3个按钮。这些按钮中的1个应该每次出现,另外2个根据连接/可用状态交替出现。
我正试图弄清楚哪种重写的片段方法应该处理不断变化的UI。这应该只是if语句(或者可能是switch语句?)的情况,但我不确定把它们放在哪里?
如果假设您有一个活动,并且它托管了所有这些碎片。
我认为有一些事件触发了这种状态的发生,可能在活动中
public void onSomeEventThatICareAbout(EventDetails deets) {
Fragment fragment = getFragmentManager().findFragmentById(R.id.my_fragment_with_buttons);
if (fragment != null) {
((MyButtonsFragment)).disableButtons(deets);
}
}
基本上,只需像对待任何其他组件一样对待片段,并像正常情况一样基于事件调用它上的方法,无论它是onClick()、AsyncTask回调还是其他什么。只需在片段上调用函数即可。
定义你自己的方式,让你的碎片做你想做的,
public void disableButtons(EventDetails deets) {
View view = getView();
view.findViewById(R.id.button1).setEnabled(false);
view.findViewById(R.id.button2).setEnabled(false);
}