我正在尝试使用片段构建我的第一个合适的Android应用程序。
我有一个主xml。其中包括两个垂直片段,顶部片段仅包含两个TextView。第一个TextView包含静态文本,第二个TextView包含我最终将从SQL动态获取的值。
如果我将此放在MainActivity.java中,则可以快乐地更新第一个片段中的TextView的值:
我有两个片段XML和一个Java文件来支持每个片段,因此我希望将此字段的设置放入支持片段的Java文件中,而不是MainActivity所用的Java文件中。
当我将其放入片段中时,它看起来像这样:
如果我将此放在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中,因为如果我想在另一个活动中使用该片段,我将不得不重复所有的代码。