2011-01-22 69 views
2

我有一個活動和三個intet過濾器,每一個不同的標籤設置,(AndroidManifiest.xml下同)不同的活動標題

<activity android:name=".activities.RecordActivity"> 
     <intent-filter> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <action android:name="com.keitai.enigma.OPEN_RECORD" /> 
     </intent-filter> 
     <intent-filter android:label="@string/newRecord"> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <action android:name="com.keitai.enigma.NEW_RECORD" /> 
     </intent-filter> 
     <intent-filter android:label="@string/editRecord"> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <action android:name="com.keitai.enigma.EDIT_RECORD" /> 
     </intent-filter> 
    </activity> 

但活動標題是不會改變到標籤中設置的意圖過濾:(活動總是包含應用程序的標籤。

什麼我donig錯了嗎?

回答

1

你確定你沒有代碼,明確設置標題?

您確保OPEN_RECORD意圖是不被觸發每次一個?

有你在確保一切試圖調試具有鮮明的標籤(應用程序,活動,每一個意圖過濾器),並查看發生了什麼?

我同意你的看法是什麼,你希望發生什麼文檔說應該發生。但是,似乎默認使用的是<application>標籤。如果上述想法中的一個沒有幫助,我很害怕,那麼我就沒有想法了。我稍後可能會在我的系統上自己嘗試一下,看看它是否適合我。


http://developer.android.com/guide/topics/manifest/intent-filter-element.html#label

機器人:標籤

父組分A用戶可讀標籤。 當組件通過過濾器描述的功能呈現給用戶時,使用此標籤而不是父組件設置的標籤。

...

的默認值是標籤由父組件設置。如果父項未指定標籤,則默認爲由元素的標籤屬性設置的標籤。


http://developer.android.com/guide/topics/manifest/manifest-intro.html#iconlabel

圖標和標籤

...

在每種情況下,在含元件設置圖標和標籤成爲默認圖標和標籤settin gs用於所有容器的子元素。因此,元素中設置的圖標和標籤是每個應用程序組件的默認圖標和標籤。同樣,組件的圖標和標籤(例如元素)是每個組件元素的默認設置。 如果一個元素設置了一個標籤,但是activity和它的intent filter沒有,應用標籤被當作標籤的活動和意圖過濾兩種。

...

+1

我敢肯定,OPEN_RECORD不會被觸發每次。其實一切正常,除了標題:(當NEW_RECORD或EDIT_RECORD被觸發編輯模式佈局設置,這是不同的視圖模式佈局 我將標題更改爲代碼,它的工作原理:) – 2011-01-23 11:49:24

0

您使用的意圖,通常通過活動,應用程序或服務(只是幾個例子)之間的信息。 我的理解是,你想要改變你的標題一個活動取決於例如。如果按下按鈕。 因此,您需要簡單地在您的活動中設置
this.setTitle("YOUR ACTIVITY NAME");
如果您希望在單擊按鈕後發生這種情況,請將其放入相應按鈕的偵聽器中。

0

其實,從你的例子我建議你使用單獨的活動(其中可以指定的標籤顯示爲標題!)。 在Android中,一個活動通常對應於一個用例 - 所以,如果OPEN_RECORD顯示一個對話框,用戶可以選擇一條記錄,EDIT_RECORD允許編輯記錄,比你通常有兩個不同的活動。

看一看的notepad tutorial的一個例子。