[英]Unable to start activity Android Emulator
I'm new to Android Programming. 我是Android编程的新手。 I'm following the guide on Android Developers to get started with Android. 我正在遵循Android开发人员指南来开始使用Android。 When trying to run simple Formular on the Emulator, the emulator shows 尝试在模拟器上运行简单的Formular时,模拟器显示
"Unfortunately, My First App has stopped.", “很遗憾,我的第一个应用已停止。”,
where MyFormular
is name of the App. 其中MyFormular
是应用程序的名称。 The Problem is that I made new layout from layout resource file and tried to connect to the new loyout fror here 问题是我从布局资源文件制作了新布局,并尝试在此处连接到新的loyout fror
setContentView(R.layout.form_layout (the new layout is form_layout)
the new layout 新布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="5">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Please submit your details"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="46dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Name"
android:ems="10"
android:id="@+id/editText"
android:layout_marginTop="46dp"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:hint="Name" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/editText2"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="46dp"
android:hint="Email" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/editText3"
android:layout_below="@+id/editText2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="46dp"
android:hint="Password" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/editText4"
android:layout_below="@+id/editText3"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="46dp"
android:hint="Confirm Password" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="5">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="36dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Terms & Conditions"
android:id="@+id/textView2"
android:layout_below="@+id/imageView"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="A Terms and Conditions can be used for both your "
android:id="@+id/textView3"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I agree"
android:id="@+id/checkBox"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="38dp"
android:layout_marginStart="38dp"
android:layout_marginBottom="38dp"
android:checked="false"
android:layout_marginRight="46dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Can't wait!Sign me up!"
android:id="@+id/button"
android:layout_alignTop="@+id/checkBox"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="85dp"
android:layout_marginEnd="75dp" />
</RelativeLayout>
</LinearLayout>
MainFormular.java MainFormular.java
package com.example.melisa.myformular;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
public class MainFormular extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form_layout);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById (R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@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_formular, 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);
}
}
at android.app.Activity.performCreate (activity_main_formular 在android.app.Activity.performCreate(activity_main_formular
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main_formular" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
logcat 日志猫
Log is, 日志是
04-30 09:13:11.176 10175-10175/com.example.melisa.myformular I/Process: Sending signal. 04-30 09:13:11.176 10175-10175 / com.example.melisa.myformular I / Process:正在发送信号。 PID: 10175 SIG: 9 04-30 10:03:45.336 10427-10427/com.example.melisa.myformular W/System: ClassLoader referenced unknown path: /data/app/com.example.melisa.myformular-1/lib/x86 04-30 10:03:47.008 10427-10427/com.example.melisa.myformular W/System: ClassLoader referenced unknown path: /data/app/com.example.melisa.myformular-1/lib/x86 04-30 10:03:47.112 10427-10427/com.example.melisa.myformular W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 04-30 10:03:47.128 10427-10427/com.example.melisa.myformular D/AndroidRuntime: Shutting down VM PID:10175 SIG:9 04-30 10:03:45.336 10427-10427 / com.example.melisa.myformular W /系统:ClassLoader引用的未知路径:/data/app/com.example.melisa.myformular-1/lib / x86 04-30 10:03:47.008 10427-10427 / com.example.melisa.myformular W /系统:ClassLoader引用的未知路径:/data/app/com.example.melisa.myformular-1/lib/x86 04- 30 10:03:47.112 10427-10427 / com.example.melisa.myformular W / art:在Android 4.1之前,方法android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter,android .content.res.ColorStateList,android.graphics.PorterDuff $ Mode)会错误地覆盖android.graphics.drawable.Drawable 04-30 10:03:47.128 10427-10427 / com.example.melisa中的package-private方法。 myformular D / AndroidRuntime:关闭VM
04-30 10:03:47.128 10427-10427/com.example.melisa.myformular E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.melisa.myformular, PID: 10427 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.melisa.myformular/com.example.melisa.myformular.MainFormular}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.FloatingActionButton.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com 04-30 10:03:47.128 10427-10427 / com.example.melisa.myformular E / AndroidRuntime:致命例外:主进程:com.example.melisa.myformular,PID:10427 java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.melisa.myformular / com.example.melisa.myformular.MainFormular}:java.lang.NullPointerException:尝试调用虚拟方法'void android.support.design.widget.FloatingActionButton.setOnClickListener(android.view。 View $ OnClickListener)在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)在android.app.ActivityThread.-wrap11( android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)上的ActivityThread.java)android.os.Looper.loop(Looper.java:148)上android.os.Handler.dispatchMessage(Handler.java:102)上的ActivityThread.java) )在android.app.ActivityThread.main(ActivityThread.java:5417)在com的java.lang.reflect.Method.invoke(本机方法) .android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.FloatingActionButton.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at com.example.melisa.myformular.MainFormular.onCreate(MainFormular.java:22) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(Activ android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)原因:java.lang.NullPointerException:尝试调用虚函数'void android.support.design.widget.FloatingActionButton.setOnClickListener(android.view.View $ OnClickListener)'在com.example.melisa.myformular.MainFormular.onCreate(MainFormular.java:22)上的空对象引用上android.app.Activity.performCreate(Activity.java:6237)在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)在android.app.ActivityThread .handleLaunchActivity(ActivityThread.java:2476)在android.app.ActivityThread.-wrap11(ActivityThread.java)在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)在android.os.Handler.dispatchMessage(Handler .java:102),位于android.os.Looper.loop(Looper.java:148),位于android.app.ActivityThread.main(Activ ityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 位于com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)处的java.lang.reflect.Method.invoke(本机方法)处的ityThread.java:5417) ZygoteInit.main(ZygoteInit.java:616)
Please remove this code and try to run your appliction...... 请删除此代码,然后尝试运行您的应用程序……
In your layout FloatingActionButton view is not there and you are trying to bind and make click event on that ...... 在您的布局中,不存在FloatingActionButton视图,并且您试图在该位置上绑定并使其产生click事件……
FloatingActionButton fab = (FloatingActionButton) findViewById (R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
and this also...... 这也......
@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_formular, menu);
return true;
}
Enjoy coding.... 享受编码...。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.