在我的Android应用程序中,我希望根据另一个片段中的按钮按下热切换片段中的文本。
Buttons片段有6个按钮,每个按钮都需要调用一个已配置的输出片段视图,这样当" BUtton 1"在按钮中按下,TextView myText被配置为说"按下按钮1"等等,2 - 6。
我已尝试在onViewCreated中实例化TextView的成员版本,以及其他一些策略,但我似乎无法让它崩溃。
这是否有既定的模式?
//MainActivity Java
public class MainActivity extends AppCompatActivity
implements StringsFragment.OnStringsInteractionListener,
StringFragment.OnStringInteractionListener,
ProgressFragment.OnProgressInteractionListener {
@Override
public void onStringButtonClick(Integer string) {
fm = getSupportFragmentManager();
fm.beginTransaction().remove(progressFragment).commit();
if(liveStringFlag != true) {
liveStringFlag = true;
fm.beginTransaction().add(R.id.fragment_container_bottom, stringFragment).commit();
stringsFragment.activateSummary();
}
stringFragment.updateStringData(string);
}
stringFragment.updateString需要看起来是什么样的,还有什么需要让它起作用?
答案 0 :(得分:0)
对于这种情况,目前还不清楚的是,知道何时调用onViewCreated有时很棘手。实际上,这是竞争条件,可以首先调用更新方法或onViewCreated。因此,谨慎管理国家非常重要。
Public Class stringFragment extends Fragment {
private TextView textString;
private Boolean viewable = false;
private String string = "";
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
textString = (TextView) view.findViewById(R.id.text_string);
if(string != null) {
textString.setText(string);
}
viewable = true;
}
public void updateStringData(String s ) {
string = s;
if(viewable == true) {
textString.setText(string);
}
}
}