我做错了什么......; - )
在本教程中,我应该"创建第二个活动",教程的屏幕截图显示了如何在Eclipse中执行此操作,但我使用的是AS。无论如何,我在Android Studio中添加了一个新的空白活动,生成的DisplayMessageActivity.java文件看起来与教程中的相同。
然后教程说在onCreate方法中添加以下代码:
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
Q1:这里的容器'在R.id.container中,在AS中标记为红色;也就是说,无法解析符号' container'。该教程没有说明任何内容,我还没有得到如何声明它的线索。它是什么?
在DisplayMessageActivity中,我应该添加:
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;
}
}
Q2:R.layout.fragment_display_message究竟是什么?我所得到的只是R.layout.activity_display_message。
感谢您的任何建议,谢谢!
答案 0 :(得分:1)
here the word 'container' in R.id.container is marked in red in AS; that is, can not resolve symbol 'container'.
这是因为当片段被充气/创建时,activity_display_message.xml
中没有容器ID布局。
<强>样品:强>
在activity_display_message
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container" <--- that is the id you must have --->
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" >
</RelativeLayout>
What on earth is R.layout.fragment_display_message??
它是您的片段的布局,因此当它被夸大时,它将添加到您的activity_main布局的顶部。
<强>溶液强>
在名为layout
layout folder
中创建fragment_display_message.xml
答案 1 :(得分:1)
替换
View rootView = inflater.inflate(R.layout.fragment_display_message,container, false);
与
View rootView = inflater.inflate(1,container, false);