从C#转到java还是很多不习惯,虽然他们的语法完全一样,但是他们在根本上还是两个架构,很多东西还是比较难弄懂。
就例如定义按钮事件。
安卓定义按钮事件的三个方式或者说是View的点击事件。(文本框也是一个view)
1.在设置的同时生成具体的过程
Button btn = (Button) findViewById(R.id.mybutton);
Button btn2 = (Button) findViewById(R.id.mybutton2);
btn.setOnClickListener(handler);
btn2.setOnClickListener(handler);
View.OnClickListener handler = View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.mybutton:
//do something
break;
case R.id.mybutton2:
//do something
break;
}
}
2.定义一个点击事件,然后再指定具体的按钮,也可以多个按钮公用一个事件
btnup=(Button)findViewById(R.id.btnup);
btnup.setOnClickListener(new View.OnClickListener() {
@Override
publicvoid onClick(View v) {
// TODO Auto-generated method stub
txt.setText("click btnup");
}
});
第3,在xml文件里面指定事件名称,然后在java里面指定函数(名称一致)
<Button
android:id="@+id/butLoad"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="主"
android:onClick="btnclick" />
public void btnclick(View v)
{
//todo something
}