哪种方法可以处理片段UI的更改外观?

时间:2013-02-23 14:00:42

标签: android user-interface android-fragments

基本上,我有一个详细信息片段列表,每个片段代表该电话的同伴列表。当点击其中一个DeviceDetails时,会出现一系列按钮和文本。出现以下哪个按钮和文本取决于手机的状态;它可以连接到正在使用的手机,也可以连接。

我目前使用片段的onCreateView来显示3个按钮。每次都会出现其中一个按钮,另外两个按钮取决于连接/可用状态。

我试图弄清楚哪个重写的片段方法应该处理不断变化的UI。它应该只是if语句的一个例子(或者可能是switch语句?)但是我不确定在哪里放这些语句?

1 个答案:

答案 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);
}