2013-07-21 32 views
0

我無法讓我的慢速計算機上工作的模擬器,所以我必須經過我的應用程序加載到物理設備的過程。那麼它編譯一切正常,我不能注意到任何明顯的錯誤,但它不想運行。在我按照教程介紹如何從一個頁面到另一個頁面之後,它開始發生。與教程相比,一切都看起來不錯。應用程序是強制關閉,但我不明白爲什麼

清單文件

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.mcesfireassist" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" android:hardwareAccelerated="false"> 
     <activity 
      android:name="com.example.mcesfireassist.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:label="@string/app_name" 
       android:name=".App2Activity" > 
      </activity> 

    </application> 

</manifest> 

主要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:background="@layout/activity_main" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/home_intro" /> 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/textView1" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="54dp" 
     android:ems="10" 
     android:inputType="number" 
     android:singleLine="true" 
     android:text="@string/Unit_num" > 

     <requestFocus /> 
    </EditText> 

    <EditText 
     android:id="@+id/editText2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:ems="10" 
     android:inputType="textNoSuggestions|textShortMessage" 
     android:text="@string/asn" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/editText2" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="38dp" 
     android:text="@string/start_button" /> 

</RelativeLayout> 

主要的Java文件

package com.example.mcesfireassist; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class MainActivity extends Activity { 
    Button button; 

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


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
     } 


    public void addListenerOnButton() { 
     final Context context = this; 
     button = (Button) findViewById (R.id.button1); 
     button.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View arg0) { 

       Intent intent = new Intent(context, App2Activity.class); 
          startActivity(intent); 

     } 
     }); 

} 

} 

如果你想看到第二頁的java和xml,我可以添加它,我只是不想讓帖子再有必要。

+0

當你點擊Eclipse中的Run按鈕時發生了什麼?你能選擇一個設備來運行嗎? –

+3

LogCat顯示什麼? –

+0

即使在運行設備時,仍然可以查看Logcat(從命令類型:adb logcat)。它將包含一個指向你的錯誤的堆棧跟蹤。 – Booger

回答

0

您的代碼不能正常工作,因爲您從未調用過addListenerOnButton()方法。 OnClickListener從未附加到Button。事實上,您的活動中甚至不存在對該按鈕的引用。

您可以撥打addListenerOnButton()setContentView(R.layout.activity_main)後或嘗試下面的代碼,其中包括一些改動:

package com.example.mcesfireassist; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class MainActivity extends Activity { 
    Button button; 

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

     button = (Button) findViewById (R.id.button1); 
     button.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View arg0) { 

       Intent intent = new Intent(MainActivity.this, App2Activity.class); 
       startActivity(intent); 

      } 
     }); 
    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 

編輯1:

請更改下面的代碼:

<activity 
    android:label="@string/app_name" 
    android:name=".App2Activity" > 
</activity> 

至:

<activity 
    android:label="@string/app_name" 
    android:name="com.example.mcesfireassist.App2Activity" > 
</activity>  
+0

我試過你的修復,而且我仍然收到了一個力量。 –

+0

@JonathonChambers您是否已將「App2Activity」添加到清單中?你可以發佈你的清單和App2Activity代碼嗎? – Vikram

+0

@JonathonChambers請在我上面的帖子中查看'Edit 1'。這應該可以解決你的問題。 – Vikram