不同意图行为中的不同活动标题

时间:2011-01-22 16:32:11

标签: android android-activity label title intentfilter

我有一个活动和三个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>

但是活动标题不会更改为意图过滤器中的标签设置:(活动始终包含应用程序标签。

我错了什么?

3 个答案:

答案 0 :(得分:1)

您确定没有明确设置标题的代码吗?

您确定OPEN_RECORD意图不是每次触发的意图吗?

您是否尝试通过确保所有内容都具有不同的标签(应用程序,活动,每个intent-filter)以及查看会发生什么来进行调试?

我同意你的意见,你所期望发生的是文档所说的应该发生的事情。但似乎无论如何使用默认的<application>标签。我担心,如果上述一个想法没有帮助,那么我就没有想法了。我可能会稍后在我的系统上尝试一下,看看它是否适合我。


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

  

机器人:标签

     

父组件的用户可读标签。 当组件向用户显示为具有过滤器描述的功能时,将使用此标签而不是父组件设置的标签。

     

...

     

默认值是父组件设置的标签。如果父级未指定标签,则默认为元素的label属性设置的标签。


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

  

图标和标签

     

...

     

在每种情况下,包含元素中设置的图标和标签都将成为所有容器子元素的默认图标和标签设置。因此,元素中设置的图标和标签是每个应用程序组件的默认图标和标签。同样,组件的图标和标签集(例如,元素)是每个组件元素的默认设置。 如果元素设置了标签,但活动及其意图过滤器没有,则应用程序标签将被视为活动和意图过滤器的标签。

     

...

答案 1 :(得分:0)

您通常使用意图在活动,应用程序或服务之间传递信息(仅举几个例子)。 我的理解是,您想要更改一个活动的标题,具体取决于例如:如果按下按钮。 因此,您只需在您的活动中进行设置  this.setTitle("YOUR ACTIVITY NAME");
如果您希望在单击按钮后发生这种情况,请将其放入相应按钮的侦听器中。

答案 2 :(得分:0)

实际上,从您的示例中我建议您使用单独的活动(可以指定标题显示为标题!)。 在Android中,一个活动通常对应一个用例 - 因此,如果OPEN_RECORD显示一个对话框,用户可以选择一个记录而EDIT_RECORD允许编辑记录,那么通常会有两个不同的活动。

查看notepad tutorial的示例。