android監聽事件
⑴ android 是怎樣監聽事件
監聽事件,直接新建一個匿名的監聽介面,類似於下面這樣的:
b1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intet = new Intent(MainActivity.this,seekbar.class);
startActivity(intet);
//finish();
}
});
⑵ Android可監聽的事件類型(提示:用戶事件和系統事件,用戶事件又分為按鍵事件和觸屏事件)
在android系統中,存在多種界面事件,如點擊事件,觸摸事件,焦點事件,和菜單事件
用戶事件和系統事件等,事件發生時,android界面框架調用界面控制項的事件處理函數對事件進行處理。
如:用戶事件:
按鍵事件:keyevent將傳遞給onkey()函數進行處理
觸屏事件:touchevent將傳遞給ontouch()函數進行處理。
⑶ 如何給android中監聽事件添加動作
第一種也是最開始就接觸的方式,通常在activity組件的oncreate事件中直接定義,直接動作。這種方式每個控制項都定義一次,通常不方便.
Button btn = (Button) findViewById(R.id.myButton);
btn .setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//do something
}
});
第二種通常是在activity組件實現其介面,這樣可以多外控制項共享一個介面,這樣相對方便
public class TestMedia extends Activity implements View.OnClickListener{
Button btn1 = (Button) findViewById(R.id.myButton1);
Button btn2 = (Button) findViewById(R.id.myButton2);
btn1 .setOnClickListener();
btn2 .setOnClickListener();
}
public void onClick(View v) {
switch (v.getId()) {
case R.id. myButton1:
//do something
break;
case R.id. myButton2:
//do something
break;
}
第三種類似第二種,這樣的好處在於如果需要實現多個監聽介面,這樣更清晰
public class TestMedia extends Activity {
Button btn1 = (Button) findViewById(R.id.myButton1);
Button btn2 = (Button) findViewById(R.id.myButton2);
btn1 .setOnClickListener(new ClickEvent());
btn2 .setOnClickListener(new ClickEvent());
}
class ClickEvent implements View.OnClickListener
public void onClick(View v) {
switch (v.getId()) {
case R.id. myButton1:
//do something
break;
case R.id. myButton2:
//do something
break;
}
⑷ android 監聽事件 OnCheckedChangeListener是干什麼的
OnCheckedChangeListener是狀態改變觸發事件,比如復選框,單選框等等
OnClickListener這個監聽事件是被點擊時觸發
前者是狀態改變的時候觸發,後者是被點擊的時候觸發
⑸ 如何在android studio里設置點擊監聽事件
Androidstudio 添加點擊監聽事件有三種方法:
一.匿名內部類
1.先找到那個控制項(初始化)
private Button bt1; //onCreate方法外
bt1 = (Button)findViewById(R.id.button1);
2.設置事件監聽器
bt1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
System.out.println("我的按鈕被點擊了");
}
});
(5)android監聽事件擴展閱讀:
如果按鈕綁了監聽器
按鈕點擊是通過OnClickListener來實現的
大致的流程應該是這樣的
public class MainActivity extends Activity
{
private Button loginButton;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//創建監聽器對象
loginButton = (Button) findViewById(R.id.login_btn);
OnClickListener listener = new ButtonClickListener();
loginButton.setOnClickListener(listener);
}
/**
* 監聽器類
*/
class ButtonClickListener implements OnClickListener
{
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.login_btn:
//點擊後的邏輯處理
break;
}
}
}
⑹ android 判斷鍵盤彈出和消失的監聽事件的方法
原理:自定義布局的onSizeChanged()方法,在其中增加一個監聽介面,當軟鍵盤顯示或隱藏使得布局尺寸發生改變,就能捕獲到這個事件。
具體方法如下:
首先,在清單文件Manifest.xml中的對應的Activity標簽內設置
android:windowSoftInputMode=」adjustResize」
作用是當軟鍵盤顯示或隱藏時,該Activity主窗口總是會被調整大小以便留出軟鍵盤的空間。唯有這樣才能保證布局觸發onSizeChanged()方法。
然後,自定義一個布局,具體是RelativeLayout、LinearLayout或是其它的,根據實際情況而定,自定義的目的是在其onSizeChanged()方法中增加一個監聽介面。這里給出一個自定義RelativeLayout布局代碼:
public class CustomRelativeLayout extends RelativeLayout {
private OnSizeChangedListener listener;
public CustomRelativeLayout(Context context) {
super(context);
}
public CustomRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
Log.d(TAG.CUSTOM_VIEW, 「onSizeChanged」);
super.onSizeChanged(w, h, oldw, oldh);
if (listener != null) {
listener.onSizeChanged(w, h, oldw, oldh);
}
}
public void setOnSizeChangedListener(OnSizeChangedListener listener) {
this.listener = listener;
}
/** * Activity主窗口大小改變時的回調介面(本示例中,等價於軟鍵盤顯示隱藏時的回調介面) */
public interface OnSizeChangedListener {
public void onSizeChanged(int w, int h, int oldw, int oldh);
}
}
最後,在程序中使用此介面(xxx.setOnSizeChangedListener(…))即可實現監聽鍵盤隱藏或顯示事件。
⑺ 在android中怎樣給整個頁面設置監聽事件
您可以類似這樣,先實例化子頁面中的Button控制項,然後將實例化後的控制項綁定監聽事件 View view=LayoutInflater.from(context).inflate(R.layout.abc_action_bar_view_list_nav_layout,null); Button button= (Button) view.findViewById(R.id.action_bar); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //寫上點擊後要執行的事件 } }); 當然了,您要在不同頁面實現不同的功能的話,您可以將以上代碼寫在viewPager.setOnPageChangeListener的滾動回調方法當中進行頁面滾動的判斷,從而執行不同的點擊事件。希望能幫到您,如果還有什麼問題,歡迎您繼續追問。謝謝。
⑻ 怎麼在android中實現一個按鈕的多個監聽事件
android單擊事件應該是你手指彈起後才觸發的,你可以編寫個demo測試下,上面放幾個按鈕,試試按下移開和按下彈起反應。根據你的需求你可以設置setOnTouchListener監聽器,在這裡面進行處理。你要模擬btn2的點擊事件,可以使用imbg.performClick()方法。imbg.setPressed(true),這個方法只是執行按下動作,因此是不會觸發單擊事件的。
⑼ 安卓中怎樣在方法裡面實現監聽事件
一.匿名內部類
1.先找到那個控制項(初始化)
private Button bt1; //onCreate方法外
bt1 = (Button)findViewById(R.id.button1);
2.設置事件監聽器
bt1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
System.out.println("我的按鈕被點擊了");
}
});
一.外部類監聽點擊事件
1.先找到那個控制項(初始化)
private Button bt2; //onCreate方法外
bt2 = (Button)findViewById(R.id.button2);
2.設置事件監聽器
bt2.setOnClickListener(new MyOnClickListener(){
public void onClick(View v){
super.onClick(v); //執行父類的onClick
System.out.println("我的按鈕被點擊了"); //執行子類的onClick
}
});
3.在另一個類中寫父類的onClick方法
class MyOnClickListener implements OnClickListener{
public void onClick(View v){
v.setAlpha(0.5); //設置透明的0.5
}
}
//OnClickListener是一個介面