2011-01-19 79 views
3

我下面這個教程:link textAndroid的喜好問題

Preferences.java:

public class Preferences extends PreferenceActivity{ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.preferences); 
} 

}

PreferencesTutorial.java:

public class PreferencesTutorial extends Activity{ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button prefBtn = (Button) findViewById(R.id.prefButton); 
     prefBtn.setOnClickListener(new OnClickListener() { 

       public void onClick(View v) { 
         Intent settingsActivity = new Intent(getBaseContext(), 
             Preferences.class); 
         startActivity(settingsActivity); 
       } 
     }); 
} 

}

的preferences.xml: alt text

當應用程序啓動時,我點擊prefButton,錯誤occures:「應用程序PreferencesTutorial(過程PreferencesTutorial.com.examples)意外停止。請重試」

我還沒有發現代碼中的任何錯誤 我也想展示我filestructure是否有幫助: alt text

的AndroidManifest.xml: alt text

是什麼錯誤的代碼?

即使我添加(光標所在)

<activity 
     android:name=".Preferences" 
     android:label="@string/set_preferences"> 
    </activity> 

我仍然得到錯誤。

+0

日誌說什麼?在eclipse中,切換到DDMS透視圖來查看logcat。或者,從命令行運行adb logcat。您可能錯過了清單中的行。 – 2011-01-19 00:22:16

+0

...或者在調試模式下運行,如果您有Eclipse。 – 2011-01-19 00:33:16

回答

0

您的AndroidManifest.xml文件提到這

<activity 
     android:name=".Preferences" 
     android:label="@string/set_preferences"> 
     <intent-filter> 
      <category android:name="android.intent.category.DEFAULT"/> 

     </intent-filter> 
</activity> 
0

您的清單中可能沒有定義Preferences

但是,正如其他人所指出的,在Eclipse中使用adb logcat,DDMS或DDMS透視圖來檢查LogCat並查看與崩潰相關的堆棧跟蹤。

0

在首選項類中的PreferencesTutorial類或OnCreate中的OnClick中引發了錯誤嗎?在不同位置粘貼幾個Log.d(「Debug」,「%ID」),看看哪一個不被調用。

1

嘗試刪除該進口,如果有的話;

import java.util.prefs.Preferences;