Activity02.java中正确代码为:
package cre.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
public class Activity02Activity extends Activity {
/** Called when the activity is first created. */
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 android.view.View.OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(Activity02Activity.this, OtherActivity.class);
Activity02Activity.this.startActivity(intent);
}
}
}
其中
android.view.View.OnClickListener在mars视频中是OnClicjkListener,但第一次鼠标停留在myButtonListener上,
点击add unimplemented methods,自动添加的是
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
这样把代码写完,会报 myButton.
setOnClickListener(new myButtonListener());的setOnClickLisetener的错误。
后来发现是
OnClickListener应该是继承android.view.View,于是把
OnClickListener改为了
android.view.View.OnClickListener,
这个时候在代码顶部自动加入了import android.view.View;
然后就正常了,再把鼠标停留在myButtonListener上,点击add unimplemented methods,自动添加的是
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
编译,RUN,OK!
奇怪的是我后来再把
import android.view.View;删掉并且把
android.view.View.
OnClickListener改为了
OnClickListener
,
再把鼠标停留在myButtonListener上,点击add unimplemented methods,自动添加的还是
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
编译,RUN,同样OK!有点晕了。
还有个现像就是有时代码顶部自动加入的import android.view.View;
有时又是加入的import android.view.View;与import android.view.View.OnClickListener;这两个。继续晕。