关于Android监听类~新手问题!·在线等答案

关键字:问题publicvoidonClick(Viewv)我刚开始看视频讲到按钮的地方软件版本eclipse3.5.0packagebao.activity;impor... 关键字:问题public void onClick(View v) 我刚开始看视频 讲到按钮的地方 软件版本eclipse 3.5.0
package bao.activity;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class twoactivity extends Activity{
private Button myButton=Null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myButton=(Button)findViewById(R.id.myButton);
myButton.setOnClickListener(new MyButtonListener());
}
class MyButtonListener implements OnClickListener{
public void onClick(View v){
Intent intent=new Intent();
intent.setClass(twoactivity.this,activity01.class);
twoactivity.this.startActivity(intent);
}
}
}
两个问题
1.他不承认我的public void onClick(View v) 每次打完这句就说我
class MyButtonListener implements OnClickListener有错误必须实现抽象方法
然后生成
@Override
public void onClick(DialogInterface dialog, int which) {
}
只要我改写成public void onClick(View v){} 还是提示错误必须实现抽象方法。
但我看视频时讲师回车就生成
@Override
public void onClick(View v){}
还有加上@Override 就说我public void onClick(View v){} 就说这句错误移除@Override
第2个问题
写myButton.setOnClickListener(new MyButtonListener());时老说数据格式不对要强行转换myButton.setOnClickListener((android.view.View.OnClickListener) new MyButtonListener());
但视频讲师没出这个问题。
展开
 我来答
pajiao
2011-03-15 · TA获得超过151个赞
知道答主
回答量:193
采纳率:0%
帮助的人:93.5万
展开全部
第一个问题:什么叫override,override就是函数的名字和参数必须都是和父类的一样,只是在函数体里增加内容即可。
第二个问题:因为你写的是MyButtonListener,所以会出现类型不同,强制转换下就可以了,不影响程序运行。如果你的MyButtonListener要继承OnClickListener,也可以解决。
百度网友1d961a4
2011-03-15 · TA获得超过142个赞
知道答主
回答量:52
采纳率:0%
帮助的人:53.6万
展开全部
看来你对java基础不是很清楚, override就是必须参数类型\个数,还有返回类型都是不能够改变的,必须跟父类的抽象方法完全一致.

setIcon.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

if(isIconChange){
setIcon.setBackgroundResource(R.drawable.icon);
isIconChange = false;
}else{
setIcon.setBackgroundResource(R.drawable.icon1);
isIconChange = true;
}
}
});
这个问题 你的写法有问题 ,
复习一下 java吧
这是我的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Luoqianfeng
2011-03-17 · TA获得超过115个赞
知道小有建树答主
回答量:586
采纳率:0%
帮助的人:270万
展开全部
mSendButton = (Button) findViewById(R.id.chat_send_message);
mSendButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) { }
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b42963e73
2011-03-15 · TA获得超过529个赞
知道答主
回答量:149
采纳率:0%
帮助的人:152万
展开全部
告诉你一个方法, 当你输完class MyButtonListener implements OnClickListener{}后,OnClickListener的下面肯定会有一条红色的波浪线(如果你是用Eclipse的话),你把光标放在上面,就会出现提示,第一个就是Add unImplement methods,就是说添加没有实现的方法,也就是抽象方法,你点击它,然后主要的代码就自动帮你生成了!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友30e17e0
2011-03-17 · 超过21用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:51.4万
展开全部
@Override在这里必须加 override就是函数的名字和参数必须都是和父类的一样,只是在函数体里增加内容即可
你看mars老师的视频他是使用的快捷键加的我们看不到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式