基本上,我有一个详细信息片段列表,每个片段代表该电话的同伴列表。当点击其中一个DeviceDetails时,会出现一系列按钮和文本。出现以下哪个按钮和文本取决于手机的状态;它可以连接到正在使用的手机,也可以连接。
我目前使用片段的onCreateView来显示3个按钮。每次都会出现其中一个按钮,另外两个按钮取决于连接/可用状态。
我试图弄清楚哪个重写的片段方法应该处理不断变化的UI。它应该只是if语句的一个例子(或者可能是switch语句?)但是我不确定在哪里放这些语句?
答案 0 :(得分:1)
好吧,如果我们说你有一个活动,它正在托管所有这些碎片。
我假设有一些事件触发了这种状态,可能是在那个Activity
中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);
}