我正在尝试使用片段来构建我的第一个正确的Android应用程序。 我有一个主要的XML。它由两个垂直片段组成,顶部片段仅由两个TextView组成。其中第一个包含静态文本,第二个包含我最终将从SQL动态获取的值。Android:我如何在片段中更新我的textView
如果我把这个是我MainActivity.java然后高高兴兴地更新的TextView的价值在我的第一个片段:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Set the Text to try this out
TextView t = (TextView)findViewById(R.id.viewItem);
t.setText("Text to Display");
}
我有两个片段个XML和Java相互支持,所以我希望把将此字段设置为支持片段的Java而不是用于MainActivity的Java。
当我把它的片段,它看起来像这样: -
public class FragmentMainTop extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState){
// -- inflate the layout for this fragment
return inflater.inflate(R.layout.fragmentmt, container,false);
// Set the Text to try this out
TextView t = (TextView)findViewById(R.id.viewItem);
t.setText("Text to Display");
}
但如果我这样做,我得到的TextView的行错误:
“的方法findViewById(INT)是未定义类型FragmentMainTop“
那么为什么它不知道这种方法呢?我有ctl/shift/o所以我知道我有所有正确的进口。 我不想最终将我所有的代码放在MainActivity中,因为如果我想在其他活动中使用Fragment,我将不得不重复所有的代码。
引用被成功地返回偶数。但动态更新视图仍然不起作用 – 2017-06-11 08:58:38