如何访问Activity的android:label

Sco*_*ott 20 android

特定

Android.xml:

<activity android:name='.IconListActivity'
  android:label='@string/icon_list_activity_name'
/>
Run Code Online (Sandbox Code Playgroud)

strings.xml中:

<string name='icon_list_activity_name>Icon List</string>
Run Code Online (Sandbox Code Playgroud)

如何在给定IconListActivity.class的情况下访问字符串'Icon List'

Com*_*are 30

PackageManager#getActivityInfo()返回一个ActivityInfo结构,它有一个labelRes和一个name字段,其中一个应该具有你需要的东西.

  • 完善!正是我需要的.谢谢! (3认同)

Jon*_*Jon 10

从任何活动:

String label = null;
try {
    label = getResources().getString(
        getPackageManager().getActivityInfo(getComponentName(), 0).labelRes);
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
Log.d(LOG_TAG, "Activity Label: " + label);
Run Code Online (Sandbox Code Playgroud)


Sha*_*ade 7

如果您有ComponentName,那么您可以执行以下操作:

PackageManager pm = getPackageManager();
ActivityInfo activityInfo = pm.getActivityInfo (componentName, 0);
Log.d ("ActivityLabel", activityInfo.loadLabel (pm).toString ());
Run Code Online (Sandbox Code Playgroud)