用于parentActivityName的Android Manifest字符串资源?

时间:2016-02-03 07:11:36

标签: android string android-manifest android-resources

在手机上我需要Activity C的父母Activity B,而在平板电脑上我需要Activity C的父母Activity A。但是,我无法为parentActivityName设置字符串资源。有没有办法通过XML实现?谢谢!

    <activity
        android:name="com.example.app.ActivityC"

        <!-- @string resource not accepted here -->
        android:parentActivityName="com.example.app.ActivityB">
    </activity>

1 个答案:

答案 0 :(得分:0)

据我所知,没有办法。你可以用自己的活动本身来做。创建一个新活动来处理不同设备上的启动

public class ActivityD {
    protected void onCreate (Bundle savedInstanceState) {
        boolean isTablet = false || true; // get configuration
        Class<?> activity = isTablet ? ActivityB.class : ActivityA.class;
        startActivity(new Intent(this, activity));
        finish();
    }
}

并将其定义为父级

<activity
    android:name="com.example.app.ActivityC"
    android:parentActivityName="com.example.app.ActivityD">
</activity>

它不完全是XML,但是我能想到的最好。