以下に示すように、リストの設定があります
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<ListPreference android:key="userType"
android:title="User Type"
android:summary="This preference allows to select an item in a array"
android:defaultValue="Admin"
android:entries="@array/array_preference_userType"
android:entryValues="@array/array_preference_userTypeValues" />
</PreferenceScreen>
Prefsクラスは
public class PreferencesActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_user_settings);
}
}
そして、上記のクラスは、開くときにアクティビティ グループに追加されます。
Intent intent = new Intent(getParent(), PreferencesActivity.class);
ParentActivity parentActivity = (ParentActivity)getParent();
parentActivity.startChildActivity("PreferencesActivity", intent);
ParentActivity クラスは次のとおりです。
public class ParentActivity extends ActivityGroup {
private ArrayList<String> mIdList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (mIdList == null) mIdList = new ArrayList<String>();
}
public void startChildActivity(String Id, Intent intent) {
Window window = getLocalActivityManager().startActivity(Id,intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
if (window != null) {
Log.i("ParentActivity", "activity started: " + Id);
mIdList.add(Id);
setContentView(window.getDecorView());
}
}
}
}
しかし、リスト設定をクリックすると、エラーでクラッシュします
E/AndroidRuntime(581): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@44f862a8 is not valid; is your activity running?
インテントの作成中に私が行っている親コンテキストを追加する解決策を考えることができます。
何かご意見は?
前もって感謝します!