我正在关注本教程:link text
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:
当应用程序启动时,我点击prefButton,出现错误:“应用程序PreferencesTutorial(进程PreferencesTutorial.com.examples)已意外停止。请再试一次”
我没有在代码中发现任何错误。 如果有帮助,我还想展示我的文件结构:
的AndroidManifest.xml:
代码有什么问题?
即使我添加(光标在哪里)
<activity
android:name=".Preferences"
android:label="@string/set_preferences">
</activity>
我仍然得到错误。
答案 0 :(得分:1)
尝试删除此导入(如果有);
import java.util.prefs.Preferences;
答案 1 :(得分:0)
您的清单中可能没有定义Preferences
。
但是,正如其他人所指出的那样,在Eclipse中使用adb logcat
,DDMS或DDMS透视图来检查LogCat并查看与崩溃相关的堆栈跟踪。
答案 2 :(得分:0)
在PreferencesTutorial类中的OnClick或者首选项类中的onCreate中是否引发了错误?在不同的位置粘贴几个Log.d(“Debug”,“%ID”),看看哪一个没有被调用。
答案 3 :(得分:0)
你必须在你的androidManifest.xml文件中提到这个
<activity
android:name=".Preferences"
android:label="@string/set_preferences">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>