0

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

我目前使用片段的 onCreateView 来显示 3 个按钮。这些按钮中的 1 个应每次出现,另外 2 个根据连接/可用状态交替出现。

我试图找出哪个被覆盖的片段方法应该处理不断变化的 UI。它应该只是 if 语句(或者可能是 switch 语句?)的一种情况,但我不确定将这些放在哪里?

4

1 回答 1

1

好吧,假设您有一个 Activity 并且它托管所有这些 Fragment。

我假设有一些事件触发了这种状态的发生,也许在那个 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);
}
于 2013-02-23T16:45:17.953 回答