我的android项目有问题!我创建了一个首选项意图,它在模拟器中工作正常。但是当我转移项目并通过移动设备的菜单键启动首选项时,它会停止工作并关闭!我想知道它发生了什么!
我的设备是:Xperia Mini Pro - >运行Android ICS 4.0.4
代码是,
偏好等级:
package com.sliit.droidman.main;
import com.sliit.droidman.R;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class Prefs extends PreferenceActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
}
首选项xml文件:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<EditTextPreference
android:title="Edit text"
android:key="name"
android:summary="enter your name"
></EditTextPreference>
<CheckBoxPreference
android:title="Music"
android:defaultValue="true"
android:key="checkbox"
android:summary="check this box"
></CheckBoxPreference>
<ListPreference
android:title="list"
android:key="list"
android:summary="this is a list to choose from"
android:entries="@array/list"
android:entryValues="@array/lValues"
></ListPreference>
</PreferenceScreen>
调用首选项的位置:
SharedPreferences getprefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean music = getprefs.getBoolean("checkbox", true);
if (music == true) {
splashmp3.start();
}
我在这里做错了什么!我对模拟器没有任何问题!但设备存在问题!因为我以相同的方式开发了以前的应用程序,所以我在设备中运行它并且它在首选项上运行良好。但这种力量关闭了。我必须给予任何权限! O.o
答案 0 :(得分:0)
我发现了什么错误。我在切换案例中创建prefs意图是一个错误。 :)我错误输入了类名。所以我纠正了它,现在它就像魔法一样!
switch (item.getItemId()) {
case R.id.about:
startActivity(new Intent(this, About.class));
break;
case R.id.prefs:
Intent prefs = new Intent("com.cdap.droidman.PREFS");
startActivity(prefs);
break;
case R.id.exit:
finish();
break;
}