从第一项活动转到第二项活动时发生错误

时间:2019-02-06 15:25:08

标签: android android-activity

我是Andriod编程的新手,我想从第二个活动转到第三个活动,但是由于应用程序停止,所以它不起作用。这是错误:

  

android.view.InflateException:二进制XML文件第2行:二进制XML文件第2行:膨胀类Linearlayout时出错

我不明白,因为我做了同样的事情以从主要活动转到第一项活动,并且一切正常。这是我的代码:

-first_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".FirstActivity">>

<Button
    android:id="@+id/first_activity_next_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Next" />    
</RelativeLayout>

-first_activity.java

public class FirstActivity extends AppCompatActivity {

private Button nextButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.first_activity);

    nextButton = (Button) findViewById(R.id.first_activity_next_btn);

    nextButton.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){
            Intent secondActivity = new Intent(FirstActivity.this, SecondActivity.class);
            startActivity(secondActivity);
        }
    });

    }
}

-second_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<Linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
tools:context=".SecondActivity">>

<TextView
    android:id="@+id/activity_main_title_txt"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="30dp"
    android:text="2nd activity"/>
</Linearlayout>

-second_activity.java

public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second_activity);
    }
}

需要帮助

5 个答案:

答案 0 :(得分:2)

LinearLayout中的Linearlayout不是xml,所以变成了

-second_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
tools:context=".SecondActivity">

<TextView
    android:id="@+id/activity_main_title_txt"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="30dp"
    android:text="2nd activity"/>
</LinearLayout>

答案 1 :(得分:0)

您的代码中有错字。在您的第二个活动的布局文件中将Linearlayout更改为LinearLayout

答案 2 :(得分:0)

此外,您的xml中还有一个额外的右尖括号,即>>     tools:context=".SecondActivity">> Android Studio应该对此抱怨。

答案 3 :(得分:0)

您在

中有一个额外的'>'
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
tools:context=".SecondActivity">> 

答案 4 :(得分:0)

LinearLayout的拼写错误(应LinearLayout而不是Linearlayout拼写),并且在初始>标记的末尾还有一个额外的LinearLayout

但是,尽管从技术上讲这种方法会起作用,但我认为如果熟悉Android Navigation Architecture Component会更好。它建议使用单一活动应用程序进行导航,但如果有必要,还提供了在多个活动中进行导航的最佳实践。值得深思!