为什么Android类是相同的但是类中的值不相等?

时间:2015-11-26 02:36:39

标签: java android

package com.custom.wangzhi.myapp;

import android.util.Log;

public class TestUtil {
    public void print(Class clazz, int t) {
        try {
            Log.i("print 1 ", "result  " + R.layout.class.equals(clazz)
                    + "  " +       R.layout.class.getClassLoader().equals(clazz.getClassLoader())
            );
            Log.i("print 2 ", R.layout.act1 + "  " +     clazz.getDeclaredField("act1").get(null)+"  "+t);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}


package com.custom.wangzhi.myapp;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;


public class MainActivity1 extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.latzc1);


        Log.i("MainActivity1", "wangzhi app       " + R.layout.act1);
        new TestUtil().print(R.layout.class, R.layout.act1);

}



Log: 

11-26 10:07:23.097 7999-7999/com.custom.dynamic.layoutcastdemo I/MainActivity1: wangzhi app       2130968577
11-26 10:07:23.097 7999-7999/com.custom.dynamic.layoutcastdemo I/print1 : result  true   true    
11-26 10:07:23.097 7999-7999/com.custom.dynamic.layoutcastdemo I/print2 : 2130968576  2130968577  2130968577

MainActivity1是一个库模块

如果我在android studio中使用默认设置运行是可以的,但是当我使用layoutcast(我在此进行一些更改)运行时,则打印上面的日志

做什么布局工作:
1.它将找到更改的代码(比较" projectdir / build / outputs / **。apk"' s time)   
2.使用aapt包所有资源生成res.zip和R.java
3.use javac,dex all change java file生成dex
4.然后翻译res。 zip和dex到android手机,
5。使用DexClassloader加载dex并生成一个新的Resource,它添加res.zip来替换系统Resource。
6.最后,重新启动应用程序。  我的英语很差,先在stackoverflow中询问,所以如果有人不了解我的意思,请与我联系。非常感谢

0 个答案:

没有答案