textView.setText不起作用

时间:2015-03-22 15:41:00

标签: java android xml android-studio textview

我在名为“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保持空白。那是为什么?

3 个答案:

答案 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;

}