Android 教程 "Create the second activity"不适用于 Android Studio,或者

标签 android android-studio

我做错了什么……;-)

在教程中,我应该“创建第二个 Activity ”,教程的屏幕截图显示了如何在 Eclipse 中执行此操作,但我使用的是 AS。无论如何,我在 Android Studio 中添加了一个新的空白 Activity ,生成的 DisplayMessageActivity.java 文件看起来与教程中的文件相同。

然后教程说在onCreate方法中加入如下代码:

if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
}

Q1:这里R.id.container中的'container'这个词在AS中被标红了;也就是说,无法解析符号“容器”。本教程对此没有任何说明,我也不知道如何声明它。这是什么?

在 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。

感谢任何建议,谢谢!

最佳答案

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 布局,以便在 fragment 被膨胀/创建时显示。

示例:

在您的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??

它是您的 fragment 的布局,因此当它膨胀时,它将添加到您的 activity_main 布局的顶部。

解决方法:

在您的 layout 文件夹 中创建一个名为 fragment_display_message.xmllayout

关于Android 教程 "Create the second activity"不适用于 Android Studio,或者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24252334/

相关文章:

android - 如何在不同的计算机上签署apk?

android - Google Play、平板电脑屏幕截图和图像顺序

java - Android 从 SettingsActivity 中删除类别而不会使应用程序崩溃?

android - 如何在 android studio IDE 中开始为 fire os 开发应用程序

android - 启用 renderscript 使应用程序忽略 jniLibs

android - 将 GridLayout 元素移动到新行以适应 Kivy 中较小的屏幕

android - 如何使用 android studio 和 android-box 调试 android TV 应用程序?

android - 无法将 Android Studio 与 Firebase 链接/连接

android - Android Studio开始下载Gradle

java - 指定要抓取的数据 - Jsoup + Android Studio