无法在片段中更新我的TextView

时间:2015-01-08 23:56:48

标签: android android-layout android-fragments textview

我已经尝试了所有我能想到的东西,我也在Stack中尝试了很多解决方案。似乎没有解决我的问题。我试图传递一个我从早期的意图(解析的JSON数据)传递的字符串。每次我调用set text我都会得到一个空指针异常,我尝试使用一种方法来设置文本以及设置它。任何帮助将不胜感激。

这是我想要更新的片段。

public class HomeFragment extends Fragment{
TextView tv;
public HomeFragment(){}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    LayoutInflater lf = getActivity().getLayoutInflater();

    View rootView = lf.inflate(R.layout.fragment_home, container, false);
    tv  = (TextView) rootView.findViewById(R.id.accountName);
    tv.setText("test");
    return rootView;
}

}

我只是将常规字符串放入测试中。这是XML。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">


<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Large Text"
    android:id="@+id/lblCompany"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="71dp" />
</RelativeLayout>

非常感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:2)

这是您在xml中TextView设置的ID:

android:id="@+id/lblCompany"

这是您在onCreateView中搜索的ID:

tv = (TextView) rootView.findViewById(R.id.accountName);

ids需要与您匹配才能更新特定TextView中的文字。尝试

tv = (TextView) rootView.findViewById(R.id.lblCompany);

代替。