最初,我的Android项目只有一个名为MainActivity
的活动。然后,我在项目中添加了一个名为ChildActivity
的新活动。我正在尝试在启动应用程序时将新活动作为启动活动启动。我更改了AndroidManifest.xml
文件来实现它。我将整个intent-filter
标签从MainActivity
移到了ChildActivity
,如下所示:
<activity android:name=".MainActivity">
</activity>
<activity android:name=".ChildActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
ChildActivity
的布局文件如下所示。我正在尝试在刚刚添加的新活动中显示TextView
:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ChildActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_display"
android:text="Hello this is Rasik!"/>
</android.support.constraint.FrameLayout>
ChildActivity.java文件:
package com.example.android.explicitintent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class ChildActivity extends AppCompatActivity {
private TextView mDisplayText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_child);
}
}
每当我尝试在Android AVD中调试应用程序时,都不会发生任何事情。看来我的应用在启动时崩溃了。谁能帮助我诊断根本原因?
答案 0 :(得分:2)
请尝试一下!
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_display"
android:text="Hello this is Rasik!"/>
</FrameLayout>
我认为根帧布局存在问题
答案 1 :(得分:2)
类android.support.constraint.FrameLayout
不存在。尝试LinearLayout
,FrameLayout
,android.support.constraint.ConstraintLayour
或其他
答案 2 :(得分:1)
您使用了错误的布局。 只需将 android.support.constraint.FrameLayout 转换为 FrameLayout 。 或转换为默认的 android.support.constraint.ConstraintLayout
<FrameLayout
...>
<TextView
...
/>
</FrameLayout>
答案 3 :(得分:1)
您使用的根布局android.support.constraint.FrameLayout
不存在。查看此链接Android Developer guide。
您的根目录布局可以是:
您可以根据需要使用许多布局。
答案 4 :(得分:0)
我在另一篇文章中看到了类似的问题。刚开始,您的孩子活动似乎不在“ .MainActivity”的封闭条款之内。
将子活动放在“ .MainActivity”的括号之间,
<activity android:name=".MainActivity"> </actvitiy>
。希望这会使它运行得更好。如果不起作用,请在MainActivity的onCreate()方法期间启动子活动。