2016-04-30 174 views
0

我是Android編程新手。我遵循Android開發者指南開始使用Android。 當試圖在模擬器上運行簡單的公式推,模擬器顯示無法啓動活動Android模擬器

「不幸的是,我的第一個應用程序已經停止。」,

其中MyFormular是應用程序的名稱。問題是,我從佈局資源文件進行了新的佈局,並試圖連接到新loyout fror這裏

setContentView(R.layout.form_layout (the new layout is form_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 &amp; 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&apos;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

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); 
    } 


} 

在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的

日誌是,

9月4日至30日:13:11.176 10175-10175/com.example.melisa.myformular I /過程:發送信號。 PID:10175 SIG:9 04-30 10:03:45.336 10427-10427/com.example.melisa.myformular W/System:ClassLoader引用的未知路徑:/data/app/com.example.melisa.myformular-1/ lib/x86 04-30 10:03:47.008 10427-10427/com.example.melisa.myformular W/System: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.myformular D/AndroidRuntime:關閉VM

04-30 10:03:47.128 10427-10427/com.example.melisa.myformular E/AndroidRuntime:致命例外:main 進程: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。在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at null對象引用 上的setOnClickListener(android.view.View $ OnClickListener) 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) 在android.app.ActivityThread.main(ActivityThread.java:5417) 在java.lang.reflect.Method.invoke(本機方法) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller。運行(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 引起:java.lang.NullPointerException:嘗試調用虛擬方法'void android.support.design .widget.FloatingActionButton.setOnClickListener(android.view.View $ OnClickListener)'在null對象引用 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(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java :726) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

+1

添加您的logcat。 – KDeogharkar

+1

添加完整的崩潰日誌 – USKMobility

回答

0

請刪除此代碼,並嘗試運行你的機應用......

在你的佈局FloatingActionButton看法是不存在的,並且您試圖綁定,使上單擊事件......

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; 
    } 

享受編碼....

+0

我能做些什麼?給我一個解決方案 –

+0

只是刪除上面的方法或代碼.............. – sushildlh

+0

這段代碼每次當我嘗試創建一個新項目 –