本人小白才接触安卓没有几天,苦于没有良师辅导,所以来这里向各位请教
一、关于以下这段代码
public void onCreate(Bundle savedInstanceState) {
   
   button.setOnClickListener(calcBMI);
}
private OnClickListener calcBMI = new OnClickListener()
{
    public void onClick(View v)
    {
        。
    }
};
我不能理解啊,请教各位其中的含义。我认为中间的一行是类的实例化,下面的应该是这个类中一个方法的重写吧,但是这种书写方式是正确的吗?我曾经试着改回规范的写法,但却提示出错啊
二、我看一篇文章说,修改xml后,R.java也会自动进行调整,可是我按照文章修改main.xml过后,R.java并没有发生变化啊,这是为什么

解决方案 »

  1.   

    question 1. those codes are right but calcBMI should be named as mCalcBMIquestion 2. you should refresh or clean your project after change codes in xml
      

  2.   

    第一个问题:你在java中这样的写法也是支持的。
    public OnClickListener ocl=new OnClickListener(){
    }
    第二个问题:只有当你refersh(F5)时它才会在XML中更新。开始学习,肯会遇到小问题。用常了就会明白的。
      

  3.   

    q1.请问是我想的那个含义吗?
    q2.我试过刷新,但是运行后的程序中,并没有变化啊!而且打开R.java后,也并没有发生更新.请问修改XML应该用什么工具方便些?
      

  4.   

    一问题:我转换成规范点的写法就会报错,麻烦你写下较为规范的写法给我看下好吗?谢谢
    二问题:问下修改XML,有什么较为方便的工具吗?
      

  5.   

    估计你没JAVA基础吧??
    下面那段
    OnClickListener()是一个接口,new一个接口对象相当于先定义继承自这个接口的对象,再new这个对象这里写到一起了,相当于 class mListener implements OnClickListener()
    {
    public void onClick(View v)
      {
      。
      }
    }
    private mListener calcBMI = new mListener();
    继承自接口的类必须要实现接口所有的abstract方法才能实例化对象,所以要实现onClick虽然我的JAVA也比较水才学了几天,但是android用不到多少JAVA的,稍微熟悉下就知道了
      

  6.   

    是相当于先定义继承自这个接口的类吧! 确实没啥基础,一下子没想到OnClickListener是接口, 一下子明白了!谢谢你啊