android学习笔记————Button按钮设置监听时不能引入onClick(View v)
今天练习Handler的使用的时候,为按钮设置监听的时候,系统默认给我引入的onClick方法是下面的样子
private OnClickListener start=new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
};
private OnClickListener start=new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
};
我把它改成onClick(View v),就出错,当时都晕了,后来有个同学提示了我一下是不是包引错了,我一看,果然是
系统给我默认引入的包是
1 import Android.content.DialogInterface;
2
3 import android.content.DialogInterface.OnClickListener;
所以每次无论怎么改,都是错
后来把这两个包删除,并且改成
import android.view.View;
import android.view.View.OnClickListener;
这样,就可以解决问题了,就可以使用onClick(View v)了
看来,有时候系统自动引入的包并不是完全正确的,要注意
---------------------------------------------------------------------------------
附上一个activity启动另外一个activity的方法
package conowen.activity;
import android.app.Activity;
import android.content.Intent;
import android.view.View.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class ActivityActivity extends Activity {
/** Called when the activity is first created. */
private Button bt = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bt = (Button) findViewById(R.id.mybutton);
bt.setText("按钮测试");
bt.setOnClickListener(new mybt());
//监听mybt类的事件
}
class mybt implements OnClickListener {//接口
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(ActivityActivity.this, other.class);
//第一个参数是activity A,第二个参数是activity B(即是要被启动的activity)
//.this 和 .class是固定的
ActivityActivity.this.startActivity(intent);
//把 intent传入给starActivity来启动
}
}
}
//注意,每多开一个activity,就要在Manifest.xml注册activity
如注册一个名为other的activity、
<activity android:name=".other" android:label="@string/other"/>