我已经尝试了所有我能想到的东西,我也在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>
非常感谢您提供任何帮助。
答案 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);
代替。