我在名为“frontpage”的片段中有一个TextView。在我的MainActivity(也称为frontpage,片段也在那里),我想更改textview的文本。这是我在Mainactivity中的代码:
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_frontpage, container, false);
return rootView;
}
public void setText(String text){
TextView textView = (TextView) getView().findViewById(R.id.NameView);
textView.setText("HI!");
}
}
这是我在textview的xml布局中的代码:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/NameView"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
没有显示任何错误,但在运行应用时,textview保持空白。那是为什么?
答案 0 :(得分:1)
因为你从未调用过你的setText(String)函数! JVM将遵循你告诉它的内容而你从未要求它去执行seText(String)函数:)
答案 1 :(得分:0)
在返回rootView上面添加此代码。
setText("Hi");
答案 2 :(得分:-1)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_frontpage, container, false);
TextView textView = (TextView) rootView.findViewById(R.id.NameView);
textView.setText("Hi");
return rootView;
}