Java会覆盖Android中的XML吗?

时间:2013-05-28 08:41:58

标签: java android xml

我想知道如果我用XML编写一个代码而用Java编写另一个代码会发生什么。

我的程序中有这个代码:

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

public class ActivityName extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // remove title
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.main);
    }
}

在我的Manifest中,我有这个:

<activity android:name=".ActivityName"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Black.NoTitleBar">
</activity>

我的应用程序没有任何问题,但是运行了Java代码,而不是我在XML中运行的代码。我认为对于所有XML编辑都是如此,但是我想确保,如果我有一个类似于XML的Java代码并且有一些差异,那么它会使用我的XML格式还是Java代码?

2 个答案:

答案 0 :(得分:2)

它总是使用Java代码,因为它运行第二。但是,如果你正在从XML中膨胀,并且在做了一些Java工作(对于布局)之后你会膨胀,那么XML会覆盖你编写的代码。

答案 1 :(得分:1)

代码优先于xml。您总是可以从您编写的代码中过度定义事物。正如@Cornholio所指出的,如果你从java代码中操作基于xml的配置,它可以修改你从java代码中设置的内容。

然而,Android框架永远不会覆盖您创建的xml布局文件。