2016-12-28 130 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> 

此錯誤是拋出:

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

<intent>標籤的targetPackage屬性應該程序包ID(也稱爲應用程序ID),而不是其中的Java包的名稱您的活動駐留。

因此您<intent>或許應該是這樣的,假設你的應用程序ID爲org.kekem

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

大答案@ Tanis.7x。發佈後我的應用程序的src包已經更改,但applicationID保持不變。在閱讀您的文章後,我實際上檢查了gradle文件,並且applicationID與src包不同。現在它正在發揮魅力。我現在可以繼續前進。十分感謝。 – DeKekem