从片段设置textView文本将无法正常工作

使用’if first run’语句从片段内部设置一些文本, setText()方法不会设置任何文本,我无法解决原因。

public class TabFragment1 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.tab_fragment_1, container, false); Profile profile = Profile.getCurrentProfile(); final String id = profile.getId(); final String userName = profile.getName(); final String firstName = profile.getFirstName(); SharedPreferences prefs = this.getActivity().getSharedPreferences("com.george.coffeeconversation", Context.MODE_PRIVATE); TextView startTextView = (TextView)view.findViewById(R.id.start_text); if (prefs.getBoolean("firstrun", true)) { startTextView.setText(getResources().getString(R.string.lets_start)); prefs.edit().putBoolean("firstrun", false).apply(); } else{ startTextView.setText(getResources().getString(R.string.welcome)+ " " + firstName); } return inflater.inflate(R.layout.tab_fragment_1, container, false); } } 

您正在对视图进行两次膨胀,而不是返回您完成工作的视图以正确设置文本。

更换

 return inflater.inflate(R.layout.tab_fragment_1, container, false); 

 return view;