NullPointer在为TextView赋值时发生exception

我只是想将值从一个活动传递到另一个活动,但无法从视图中找到Textview值。我只是通过文本框将一条消息从主活动传递给此活动,我在这里看到文本框值但不能将其分配给textView …

这是我的代码..

public class DisplayMessageActivity extends Activity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_message); if (savedInstanceState == null) { getFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()).commit(); } textView = (TextView) findViewById(R.id.displayText); Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); textView.setText(message); } 

XML

   

请帮帮我..

TextView不属于Activity布局。 将TextView的初始化移动到PlaceholderFragment onCreateView

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_display_message, container, false); TextView textView = (TextView) rootView.findViewById(R.id.displayText); return rootView; } 

在活动中

  if (savedInstanceState == null) { String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); Bundle bundle = new Bundle(); bundle.putString("key", message); PlaceholderFragment fragobj = new PlaceholderFragment(); fragobj.setArguments(bundle); getFragmentManager().beginTransaction() .add(R.id.container, fragobj).commit(); } 

然后

  @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_display_message, container, false); TextView textView = (TextView) rootView.findViewById(R.id.displayText); String strtext = getArguments().getString("key"); textView.setText(strtext); return rootView; } 
 View view = inflater.inflate(R.layout.fragment_display_message, container, false); TextView textView = (TextView) view.findViewById(R.id.displayText); return view; //in onCreate method 

你已经扩展了活动,你可以使用这个

  TextView textView = (TextView) findViewById(R.id.displayText); //in onCreate method