Android入门初级问题

sky3785 2011-06-24 05:40:44

package gao.com;

import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Activity01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button myButton = (Button)findViewById(R.id.myButton);
myButton.setText("Click me");
myButton.setOnClickListener(new MyButtonListener());
}
class MyButtonListener implements OnClickListener {
//@Override 错误的地方=>我加了这行代码,下面的方法就报错,明明是接口,却不能加@Override,不知为何
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(Activity01.this, Activity02.class);
Activity01.this.startService(intent);
}
}
}


...全文
154 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky3785 2011-06-27
  • 打赏
  • 举报
回复
Override在JDK5和JDK6中是有区别的,虽然我的系统用的是JDK6,但是Android SDK采用的是1.6版的,可能是导致不能在onClick前加@Override
详细可以参照http://www.99inf.net/SoftwareDev/Java/54113.htm
有什么其他的理解,也请大家提出,分享一下
xinqiqi123 2011-06-24
  • 打赏
  • 举报
回复
明显重写onClick()方法,加@Override没错
代码完全没有问题,楼主的onClick()事件里面没有log何以得知进不去,是因为跳不到Activity02而断定进不去onClick()
加上@Override试试
ch_984326013 2011-06-24
  • 打赏
  • 举报
回复
代码没问题啊!要不试试下面这段代码!
package gao.com;

import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Activity01 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button myButton = (Button)findViewById(R.id.myButton);
myButton.setText("Click me");
myButton.setOnClickListener(new MyButtonListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(Activity01.this, Activity02.class);
Activity01.this.startService(intent);
}
});
}
}
zhouYunan2010 2011-06-24
  • 打赏
  • 举报
回复
以上全都答飞所问。
实现接口中的方法是不能用@override标注的。继承才可以。你可以试试下面这段代码:

public class ActivityLifeActivity extends Activity implements Runnable{
@Override //这里不能加
public void run() {
// TODO Auto-generated method stub

}
@Override //这里可以加
public void onCreate(Bundle savedInstanceState) {}
}

可以查查资料,看看@override注解的具体用法
booooo­ 2011-06-24
  • 打赏
  • 举报
回复
如果还不行的话,再这样试试:

myButton.setId(100);

public void onClick(View v){
switch(v.getId()){
case 100:
System.out.println("被打印");
break;
}
}
booooo­ 2011-06-24
  • 打赏
  • 举报
回复
怎么看你的代码都没有问题。为什么会跑步进去呢。

试试这段代码:


import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Activity01 extends Activity implements OnClickListener{

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button myButton = (Button)findViewById(R.id.myButton);
myButton.setText("Click me");
myButton.setOnClickListener(this);
}

public void onClick(View v){
System.out.println("被打印");
}
}
sky3785 2011-06-24
  • 打赏
  • 举报
回复
现在的代码根本跑不进onClick
a603473186 2011-06-24
  • 打赏
  • 举报
回复
那玩意没用的 什么接口不接口

80,350

社区成员

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

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