2014-02-17 94 views
0

因此,我正在開發一個應用程序,並且我的應用程序意外停止。這裏是我的代碼和清單文件:當我切換Android活動時出錯

MainActivity

package com.example.lasic; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.View; 

public class MainActivity extends Activity { 

    @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 goNext(View view) { 
     startActivity(new Intent(this,QuestionActivity.class)); 
    } 

} 

QuestionActivity

package com.example.lasic; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class QuestionActivity extends Activity{ 
    private int counter = 1; 
    private UserScanner scanner = new UserScanner(); 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.firstq); 
     loadNext(); 
    } 
    public void loadNext() { 
     TextView view1 = (TextView) findViewById(R.id.textView1); 
     view1.setText(scanner.questionList.get(counter)); 
     Button button1 = (Button) findViewById(R.id.button1); 
     button1.setText(scanner.left.get(counter)); 
     Button button2 = (Button) findViewById(R.id.button2); 
     button2.setText(scanner.centerLeft.get(counter)); 
     Button button3 = (Button) findViewById(R.id.button3); 
     button3.setText(scanner.center.get(counter)); 
     Button button4 = (Button) findViewById(R.id.button4); 
     button4.setText(scanner.centerRight.get(counter)); 
     Button button5 = (Button) findViewById(R.id.button5); 
     button5.setText(scanner.right.get(counter)); 
     counter = counter + 1; 
    } 
} 

的manifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.lasic" 
    android:versionCode="1" android:versionName="1.0" > 
    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="18" /> 
    <application 
     android:debuggable = "true" 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.lasic.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="com.example.lasic.QuestionActivity" 
      android:label="EntrySurvey" > 
     </activity> 
    </application> 
</manifest> 

當我嘗試使用goNext()方法從MainActivity切換到QuestionActivity時,我得到「此應用程序意外停止錯誤」。我該如何解決這個問題?

+4

你能發佈LOGCAT錯誤嗎? –

+0

logcat錯誤在哪裏? –

+0

在你的logcat中。如果您在命令行運行adb logcat或在Eclipse中查看logcat選項卡,則可以看到日誌。它將有一個完整的堆棧跟蹤,其中有例外和上下文。 –

回答

2

你試試這個 在goNext方法

{ 

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

} 

而且清單文件只是給 android:name=".QuestionActivity"足夠

+0

你應該清理你的答案一些。只將代碼放在代碼塊中,並解釋*你已經改變了什麼*以及爲什麼*你相信這是正確的答案。 – codeMagic

0

我不認爲有這行中的任何錯誤:

startActivity(new Intent(this,QuestionActivity.class)); 

這是正確的。你確定佈局文件中沒有任何錯誤嗎?例如,當您沒有爲按鈕定義android:layout_width或android:layout_height時,您可能會收到「此應用程序意外停止錯誤」。所以檢查你的佈局文件。