以下是代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = "Email: \n" +intent.getStringExtra(MainActivity.ACCOUNT_EMAIL);
setContentView(R.layout.activity_display_message);
TextView textView = (TextView) findViewById(R.id.display_info);
//textView.setText(message);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
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_display_message,
container, false);
return rootView;
}
}
XML中的ID名称肯定是正确的,但无论出于何种原因,此注释行始终返回null。当我对该行进行注释时,片段将打开,并显示文本视图(我有一些占位符文本)。我无法从代码中访问此内容。
答案 0 :(得分:1)
您说片段显示的是TextView,但您尝试从Activity(以及Activity的布局)中引用TextView。
在没有看到布局的情况下,我猜测TextView位于fragment_display_message.xml
(而不是activity_display_message.xml
)。
您似乎希望将访问TextView的逻辑移动到片段onCreateView()
中。请记住,您可能希望使用Fragment参数来设置消息,因为直接从Activity中获取消息将不再有效。