关于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());
但视频讲师没出这个问题。 展开
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());
但视频讲师没出这个问题。 展开
5个回答
展开全部
看来你对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吧
这是我的
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吧
这是我的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mSendButton = (Button) findViewById(R.id.chat_send_message);
mSendButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) { }
});
mSendButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) { }
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
告诉你一个方法, 当你输完class MyButtonListener implements OnClickListener{}后,OnClickListener的下面肯定会有一条红色的波浪线(如果你是用Eclipse的话),你把光标放在上面,就会出现提示,第一个就是Add unImplement methods,就是说添加没有实现的方法,也就是抽象方法,你点击它,然后主要的代码就自动帮你生成了!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@Override在这里必须加 override就是函数的名字和参数必须都是和父类的一样,只是在函数体里增加内容即可
你看mars老师的视频他是使用的快捷键加的我们看不到
你看mars老师的视频他是使用的快捷键加的我们看不到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询