2016-12-28 28 views
1

PreferenceScreenからアクティビティを開始する正しい方法は何ですか?プリファレンスアクティビティの開始アクティビティ

私のコードは動作しません。

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <Preference android:title="Change password"> <intent android:targetClass="org.kekem.activity.MyActivity" android:targetPackage="org.kekem.activity"/> </Preference> </PreferenceScreen>

次のように活性はまた、私のマニフェストファイル内で宣言されています

<activity 
     android:name=".activity.MyActivity" 
     android:label="Change password" 
     android:parentActivityName=".activity.MainActivity" 
     android:screenOrientation="portrait"> 
    </activity> 

このエラーがスローされます。あなたの<intent>タグの

android.content.ActivityNotFoundException: Unable to find explicit activity 
class org.kekem.activity/org.kekem.activity.MyActivity have you declared 
this activity in your AndroidManifest.xml? 

答えて

1

targetPackage属性がなければなりませんアプリケーションのパッケージID(アプリケーションIDとも呼ばれます)。Javaパッケージの名前ではありません。活動は常駐しています。

したがって、あなたの<intent>は、おそらくあなたのアプリケーションIDがorg.kekemであると仮定すると、このようなものでなければなりません:Tanis.7x @

<intent 
    android:targetClass="org.kekem.activity.MyActivity" 
    android:targetPackage="org.kekem"/> 
+0

偉大な答え。アプリケーションのsrcパッケージをリリースした後に変更しましたが、applicationIDは同じままです。あなたの投稿を読んだ後、私は実際にgradleファイルをチェックし、applicationIDはsrcパッケージとは異なります。今は魅力として働いています。私は今、前進することができます。本当にありがとう。 – DeKekem

関連する問題