记忆大不如前,记录下来以便自己翻阅
今天在学习android时,了解了android的Button监听编写技巧,现在特别记录下来
这里仅仅是记录代码编写监听技巧
第一种:
1.在XML中定义按键
个人不倡导在class文件中实现按键的定义,因为这不方便UI布局2.
在class文件中实现按键的监听,不多说直接上代码
android.view.View.OnClickListener myonclick;Button mytestbt1;
Button mytestbt2;
mytestbt1 = (Button)findViewById(R.id.testbt1);
mytestbt2 = (Button)findViewById(R.id.testbt2);
myonclick = new Button.OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.testbt1:
Toast.makeText(getBaseContext(), "1", Toast.LENGTH_SHORT).show();
break;
case R.id.testbt2:
Toast.makeText(getBaseContext(), "2", Toast.LENGTH_SHORT).show();
break;
case R.id.testbt3:
Toast.makeText(getBaseContext(), "3", Toast.LENGTH_SHORT).show();
break;
case R.id.testbt4:
Toast.makeText(getBaseContext(), "4", Toast.LENGTH_SHORT).show();
break;
}
}
};
mytestbt1.setOnClickListener(myonclick);
mytestbt2.setOnClickListener(myonclick);
第二种:
1.在xml文件中定义Button时,添加如下代码
android:onClick="mybtnOnclick"' 注:mybtnOnclick是任意命名的方法
如在XML定义了如下按键
<Button
android:id="@+id/testbt4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/testbt3"
android:onClick="mybtnOnclick"
/>
<Button
android:id="@+id/testbt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:layout_alignParentBottom="true"
android:onClick="mybtnOnclick"
android:layout_toRightOf="@+id/testbt2" />
2.在class文件中实现mybtnOnclick方法
public void mybtnOnclick(View v)
{
switch(v.getId())
{
case R.id.testbt1:
Toast.makeText(getBaseContext(), "1", Toast.LENGTH_SHORT).show();
break;
case R.id.testbt2:
Toast.makeText(getBaseContext(), "2", Toast.LENGTH_SHORT).show();
break;
case R.id.testbt3:
Toast.makeText(getBaseContext(), "3", Toast.LENGTH_SHORT).show();
break;
case R.id.testbt4:
Toast.makeText(getBaseContext(), "4", Toast.LENGTH_SHORT).show();
break;
}
}
第三种:
第三种与第一种一样,不同的是每个按键的监听是分别定义,这编写效率是有点低,不多说,上代码
Button jack = (Button)findViewById(R.id.mybutton);
jack.setOnClickListener(new Button.OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent myintnt = new Intent();
myintnt.setClass(JackTravleDemoActivity.this, activity2.class);
startActivity(myintnt);
JackTravleDemoActivity.this.finish();
Log.v(TAG, "VERBOSE");
}
});
第三种方法当在编写大量按键时,效率很低,个人比较喜欢第二种方法,直观明了,代码编写量在这三种方法中是最少的
个人水平有限,不知还有啥更好的Button监听技巧么