Java 从android studio安装的应用程序在我的手机上不断崩溃
我刚开始安卓系统的开发,不知道为什么我的应用程序总是崩溃。。。。我现在正在尝试更改活动…这是我的代码Java 从android studio安装的应用程序在我的手机上不断崩溃,java,android,Java,Android,我刚开始安卓系统的开发,不知道为什么我的应用程序总是崩溃。。。。我现在正在尝试更改活动…这是我的代码 package app.dm.com.tictac; import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import an
package app.dm.com.tictac;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class MainActivity extends ActionBarActivity{
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b=(Button)findViewById(R.id.b1);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(getApplicationContext(),twoP.class);
startActivity(i);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
这是我的XML代码
<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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#4285f4"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<TextView
android:textColor="#FFF"
android:textSize="30dp"
android:text="TIC TAC TOE" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/b1"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="98dp"
android:text="Play 1v1"
/>
</RelativeLayout>
下面是它的XML代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xlmns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:background="#4285f4"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Random BS "
android:textColor="#FFF"
android:textSize="30dp"
android:id="@+id/textView2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go Back"
android:id="@+id/b2"
android:layout_gravity="center_vertical"
android:layout_below="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="98dp" />
</RelativeLayout>
一旦我将应用程序安装到我的设备上,它就会显示不幸的是ticTac已经停止。我真的不知道我的错误是什么。任何帮助都将不胜感激……谢谢
我的android清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="app.dm.com.tictac" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<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=".twoP">
</activity>
</application>
</manifest>
以下是logcat文件:
您的错误是-
java.lang.RuntimeException: Unable to start activity ComponentInfo{app.dm.com.tictac/app.dm.com.tictac.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
它出现在app.dm.com.tictac.MainActivity.onCreateMainActivity.java:21
您正在使用
b=按钮FindViewByIDR.id.b1;但是在任何布局文件中都没有定义具有此id的按钮。我想您打算在第一个活动的布局文件中使用。请在将getApplicationContext替换为MainActivity后重试。此
即使在这之后,错误仍然不会消失,那么请将错误日志发布到这里。在您的第一个xml中,您有android:layout_,如下=@+id/b1。您可能想键入android:id=@+id/b2 在代码中,调用b=ButtonfindViewByIdR.id.b1;但是,没有具有该id的按钮,因此b被分配为null。之后,您尝试将onClickListener分配给该应用程序,应用程序崩溃 这正是这一行告诉你的:
04-23 19:42:21.979: E/AndroidRuntime(13918): java.lang.RuntimeException: Unable to start activity ComponentInfo{app.dm.com.tictac/app.dm.com.tictac.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
请张贴logcat输出。它将显示堆栈traceFirst pb在您的第一个xml中没有id为b1的按钮!对于android:layout_below=@+id/b1,你说把这个按钮放在b1下面,logcat stacktrace告诉你什么?你没有看你自己的logcat。。。首先做一些研究04-23 19:57:43.033:E/AndroidRuntime16703:Process:app.dm.com.tictac,PID:16703 04-23 19:57:43.033:E/AndroidRuntime16703:java.lang.RuntimeException:无法启动活动组件信息{app.dm.com.tictac/app.dm.com.tictac.MainActivity}:java.lang.NullPointerException:尝试在空对象引用04-23 19:57:43.033:E/AndroidRuntime16703:at app.dm.com.tictac.MainActivity.onCreateMainActivity.java:21*出了什么问题:无法从中读取packageName/home/damian/AndroidStudioProjects/ticTac/app/src/main/AndroidManifest.xml如何解决上述问题?
04-23 19:42:21.979: E/AndroidRuntime(13918): java.lang.RuntimeException: Unable to start activity ComponentInfo{app.dm.com.tictac/app.dm.com.tictac.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference