以主活动而非应用名称命名的新Android项目

时间:2012-08-23 03:21:30

标签: android android-activity adt

我正在使用最新的ADT插件在Eclipse Juno中创建新的android项目,并且我遇到了应用程序名称的问题。每当我运行应用程序时,它运行正常,但当我转到应用程序列表时,应用程序的名称不存在。相反,我有一个名为MainActivity的新应用程序,它是应用程序中第一个活动的名称。 app_name字符串设置为应用程序的名称,但它仍然无法正常工作。我想出了将title_activity_main更改为应用程序的名称修复了应用程序抽屉中错误的应用程序名称的问题,但这似乎是一种方法来解决这个问题。还有其他人遇到过这个问题,还是像我一样讨厌新的ADT?

清单代码

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bv.testapp"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="4"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name">
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

7 个答案:

答案 0 :(得分:28)

我为您找到了解决方案..在清单文件中,您可以为启动器图标设置一个标签,为活动设置另一个标签。应用程序名称在intent过滤器中设置,如下所示:

<activity
    android:name=".Start"
    android:label="@string/activity_start" >
    <intent-filter android:label="@string/app_name" >
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

干杯

// Nautious

答案 1 :(得分:3)

最近我遇到了这个问题:请你试试这个:

<activity
    android:name=".MainActivity"
    android:label="@string/app_name" >

或从活动中删除android:label

答案 2 :(得分:3)

我也在使用更新后的adt并遇到同样的问题,最后推出了唯一的解决方案,如下所示

<application
    android:name="GlobalData"
    android:icon="@drawable/hdpi"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <activity android:theme="@android:style/Theme.NoTitleBar"
        android:name=".ApplicationCommence"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>

上面的"@string/app_name"中有我的项目名称。

答案 3 :(得分:0)

我也对此问题感到恼火,终于找到了解决方法,现在我确信这是新ADT中的一个错误。我添加了 android:name =“name_of_my_app”并更改了 android:label =“name_of_the_app”,它按预期工作。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nitin.sunflow"
    android:versionCode="1"
    android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    android:name = "Sunflow"
    <activity
        android:name=".MainActivity"
        android:label="Sunflow" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

答案 4 :(得分:0)

我注意到很多演示应用程序都带有名称MainActivity,并且导入其他项目很烦人......但是不应该“右击项目==&gt;重命名”修复名称冲突?

答案 5 :(得分:-1)

为克服这个问题,养成在标题为“标题”的地方提供应用名称的习惯。这显然可以解决您的问题。

答案 6 :(得分:-2)

从新ADT创建新Android项目的步骤:

  1. 您输入应用程序名称/包并定位SDK版本。
  2. 在下一个视图中,您可以选择应用图标。
  3. 在第三个视图中,您遇到两种活动之间的选择 - blankactivity和masterdetail flow。
  4. 在第4个视图中,您输入您的活动名称,布局名称,并在最后一个字段中您将注意到一个字段是“标题”,在该字段中输入您的应用程序名称,以及何时将安装应用程序设备/模拟器,您将在那里看到您的应用名称。
  5. 那是清楚的吗?