小白提问两个入门问题

sanjy523892105 2011-08-24 12:04:20
本人小白才接触安卓没有几天,苦于没有良师辅导,所以来这里向各位请教
一、关于以下这段代码
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并没有发生变化啊,这是为什么
...全文
63 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fishmen26 2011-08-24
  • 打赏
  • 举报
回复
question 1. those codes are right but calcBMI should be named as mCalcBMI

question 2. you should refresh or clean your project after change codes in xml
「已注销」 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dinko321 的回复:]

估计你没JAVA基础吧??


下面那段
OnClickListener()是一个接口,new一个接口对象相当于先定义继承自这个接口的对象,再new这个对象

这里写到一起了,相当于
Java code

class mListener implements OnClickListener()
{
public void onClick(View v)
{
。。。。
……
[/Quote]
是相当于先定义继承自这个接口的类吧! 确实没啥基础,一下子没想到OnClickListener是接口, 一下子明白了!谢谢你啊
dinko321 2011-08-24
  • 打赏
  • 举报
回复
估计你没JAVA基础吧??


下面那段
OnClickListener()是一个接口,new一个接口对象相当于先定义继承自这个接口的对象,再new这个对象

这里写到一起了,相当于

class mListener implements OnClickListener()
{
public void onClick(View v)
{
。。。。
}
}
private mListener calcBMI = new mListener();


继承自接口的类必须要实现接口所有的abstract方法才能实例化对象,所以要实现onClick



虽然我的JAVA也比较水才学了几天,但是android用不到多少JAVA的,稍微熟悉下就知道了
「已注销」 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunmable 的回复:]

第一个问题:你在java中这样的写法也是支持的。
public OnClickListener ocl=new OnClickListener(){
}
第二个问题:只有当你refersh(F5)时它才会在XML中更新。

开始学习,肯会遇到小问题。用常了就会明白的。
[/Quote]
一问题:我转换成规范点的写法就会报错,麻烦你写下较为规范的写法给我看下好吗?谢谢
二问题:问下修改XML,有什么较为方便的工具吗?
「已注销」 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fishmen26 的回复:]

question 1. those codes are right but calcBMI should be named as mCalcBMI

question 2. you should refresh or clean your project after change codes in xml
[/Quote]
q1.请问是我想的那个含义吗?
q2.我试过刷新,但是运行后的程序中,并没有变化啊!而且打开R.java后,也并没有发生更新.请问修改XML应该用什么工具方便些?
sunmable 2011-08-24
  • 打赏
  • 举报
回复
第一个问题:你在java中这样的写法也是支持的。
public OnClickListener ocl=new OnClickListener(){
}
第二个问题:只有当你refersh(F5)时它才会在XML中更新。

开始学习,肯会遇到小问题。用常了就会明白的。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧