Android教程“创建第二个活动”不适用于Android Studio,或

时间:2014-06-16 21:15:11

标签: android android-studio

我做错了什么......; - )

在本教程中,我应该"创建第二个活动",教程的屏幕截图显示了如何在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。

感谢您的任何建议,谢谢!

2 个答案:

答案 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);