0

私のAndroidプロジェクトに問題があります!プリファレンスインテントを作成しましたが、エミュレーターで正常に機能します。しかし、プロジェクトを転送し、モバイルのメニューキーを使用して設定を起動すると、プロジェクトが機能しなくなり、閉じます。何が起こっているのか知りたい!

私のデバイスは:Xperia Mini Pro-> AndroidICS4.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();
    }

私はここで何を間違っているのですか!エミュレータに問題はありません!しかし、問題はデバイスに存在します!以前のアプリケーションを同じ方法で開発したので、デバイスで実行しましたが、設定で正常に機能しました。しかし、この力は閉じます。許可を与える必要がありますか?Oo

4

1 に答える 1

0

何がエラーを引き起こしているのかを見つけました。スイッチケースで設定インテントを作成するのはエラーでした。:)クラス名を間違って入力しました。だから私はそれを修正しました、そして今それは魔法のように働きます!

  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;
    }
于 2012-07-07T19:11:56.997 に答える