私はnレイヤPreferenceActivitiesを実装しています 第1レイヤPreferenceActivityはプリファレンスヘッダーからロードされます。プリファレンスヘッダーからアクティビティを開始
最初のヘッダーはPreferenceFragmentである設定の断片を作成します。次に、指定されたURLを開くブラウザアクティビティ(2番目はdeveloper.android.comの例)です。 3番目のものは、PreferenceAtivityの次のレベルになりたいもので、これもプリファレンスヘッダーからロードされます。
まず2つの作業罰金が、第三の例外を除いて、アプリケーションをクラッシュさ:
「android.content.ActivityNotFoundException:いいえ活動はテント{行為= android.intent.action.VIEW DAT = com.mycompanyを処理することが判明.myapp.ui.MyPreferenceActivity} "
マニフェストファイルで宣言されたMyPreferenceActivity。おそらく、main_headers.xmlのアクティビティの宣言は間違っていますが、正しい方法でヒントを見つけられませんでした。いくつかのバリエーションを試してみたが、うまくいかなかった。
例は、私が使用:または次PreferenceActivityがどのようにhttp://developer.android.com/reference/android/preference/PreferenceActivity.html
それは私のために動作しませんなぜ任意の考えを呼び出すことができますか? 基本的には、ヘッダーからアクティビティを開始する必要があります。これは本当にシンプルなはずですが、何か不足しています。
public class MySettings extends PreferenceActivity
{
@Override
public void onBuildHeaders(List<Header> target)
{
loadHeadersFromResource(R.xml.main_headers, target);
}
}
main_headers.xml:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android" >
<header android:title="Custom Settings"
android:fragment="com.mycompany.myapp.ui.SettingsFragment" />
<header android:title="Intent"
android:summary="Launches an Intent.">
<intent android:action="android.intent.action.VIEW"
android:data="http://www.android.com" />
</header>
<header android:title="Another Preference Activity">
<intent android:action="android.intent.action.VIEW"
android:data="com.mycompany.myapp.ui.MyPreferenceActivity" />
</header>
</preference-headers>
が、私はこれが古い問題であることを認識mainfestファイルに以下のコードを追加します。デフォルトのAndroidパッケージのインテントを指定する方法を知っていますか?例えば'Settings.ACTION_ADD_ACCOUNT'? – Jin
私と協力しました、ありがとう –