我正在尝试使用四种不同的活动构建应用。
在我的开始页面上,有4个按钮。当您单击按钮时,您应该被定向到相应的活动。
虽然我的代码没有语法错误,但是当我点击一个按钮时,我的应用程序总是崩溃。
有些人可以告诉我我的代码有什么问题吗?
我的主要活动
<maven.test.skip>true</maven.test.skip>
按钮应指向的其中一个类:
<maven.test.failure.ignore>true</maven.test.failure.ignore>
我的错误日志文件:
package com.group6.travlhoe;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.annotation.NonNull;
import android.support.design.widget.BaseTransientBottomBar;
import android.support.design.widget.BottomNavigationView;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements
View.OnClickListener {
Button btnTransport, btnUnterkunft, btnAllgemein, btnRechnung;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnTransport = (Button) findViewById(R.id.Transport);
btnAllgemein = (Button) findViewById(R.id.Allgemein);
btnUnterkunft = (Button) findViewById(R.id.Unterkunft);
btnRechnung = (Button) findViewById(R.id.Rechnung);
btnTransport.setOnClickListener(this);
btnRechnung.setOnClickListener(this);
btnAllgemein.setOnClickListener(this);
btnUnterkunft.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.Allgemein) {
startActivity(new Intent(MainActivity.this, Allgemein.class));
} else if (v.getId() == R.id.Transport) {
startActivity(new Intent(MainActivity.this, Transport.class));
} else if (v.getId() == R.id.Unterkunft) {
startActivity(new Intent(MainActivity.this, Unterkunft.class));
} else if (v.getId() == R.id.Rechnung) {
startActivity(new Intent(MainActivity.this, Rechnung.class));
}
}
}
Android清单文件:
package com.group6.travlhoe;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class Allgemein extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_allgemein);
}
}
答案 0 :(得分:0)
您缺少清单中的活动。创建活动时,也必须在此处添加。
我建议您阅读Android Application Fundamentals。
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Allgemein"
android:launchMode="singleTop"/>
此外,在您为活动提供的示例中,您不是overriding
onCreate
方法。确保您的所有活动都有此更改。
public class Allgemein extends AppCompatActivity {
@Override //You are missing this.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_allgemein);
}
}