當前位置:首頁 » 安卓系統 » android監聽器

android監聽器

發布時間: 2022-11-21 15:28:47

① android按鈕監聽器OnClick()的參數問題

包導錯了,onclickListener是有同名的,你實現的dialogInterface的,不是view的
你把import android.content.DialogInterface.OnClickListener
替換為 import android.view.View.OnClickListener

② android多個按鈕綁定同一個監聽器

可以用一個監聽器(Listener)來實現多個按鈕的onClick監聽,下面是一個具體的例子:

③ 關於Android chronometer 監聽器的使用問題

使用Service。給你一個demo:

需要開始定時任務的時候調RegistryBeeper方法,停止的時候調UnregistryBeeper。代碼來自「靜音達人」,可以去網路應用搜索下載,體驗一下:)

-------------------------------------------
/**
* 執行切換情景模式的消息接收器
*
* @author ValentineNing
*
*/
public class TimerBasedActivator {

/**
* 注冊定時器的組件
*/
private static AlarmManager s_AlarmMgr;

/**
* 發送給SmartProfileBeepReceiver的消息
*/
private static PendingIntent s_SmartProfileBeeperIntent;

/**

* 非同步注冊到定時任務
*
* @param context
* 執行注冊的上下文
*/
public static void BeginRegistryBeeper(final Context context) {
Thread th = new Thread(new Runnable() {

public void run() {
RegistryBeeper(context);
}
});

th.start();
}

/**
* 注冊定時任務
*
* @param context
* 執行注冊的上下文
*/
public static void RegistryBeeper(Context context) {

ILog logger = new ExternalStorageLogger(context);

logger.Log("[TBA] 開始注冊定時任務");

// 准備參數
s_AlarmMgr = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
Intent intent2 = new Intent(context, TimerBoardcastReciever.class);
s_SmartProfileBeeperIntent = PendingIntent.getBroadcast(context, 0,
intent2, PendingIntent.FLAG_UPDATE_CURRENT);

// 添加前先嘗試注銷
s_AlarmMgr.cancel(s_SmartProfileBeeperIntent);

// 注冊Beeper(延遲5秒後開始工作,然後每5分鍾執行一次)
s_AlarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance()
.getTimeInMillis() + 5 * 1000, 1000 * 60 * 5,
s_SmartProfileBeeperIntent);

logger.Log("[TBA] 定時任務注冊完成");
}

/**
* 取消定時任務
*
* @param context
* 執行注冊的上下文
*/
public static void UnregistryBeeper(Context context){

if(s_AlarmMgr!=null){

ILog logger = new ExternalStorageLogger(context);

logger.Log("[TBA] 開始注銷定時任務");

Intent intent2 = new Intent(context, TimerBoardcastReciever.class);
s_SmartProfileBeeperIntent = PendingIntent.getBroadcast(context, 0,
intent2, PendingIntent.FLAG_UPDATE_CURRENT);

// 注銷定時任務
s_AlarmMgr.cancel(s_SmartProfileBeeperIntent);

logger.Log("[TBA] 定時任務注銷完成");
}
}

/**
* 定時任務通知的接收器
*
* @author valentine
*
*/
public class TimerBoardcastReciever extends BroadcastReceiver{

@Override
public void onReceive(Context arg0, Intent arg1) {

ILog logger = new ExternalStorageLogger(arg0);

logger.Log("[TBR] 開始檢查是否需要切換情景模式");

PhoneProfileSwitcher.Check(arg0);

logger.Log("[TBR] 情景模式切換完畢,准備更新任務欄圖標");

MiscHelpers.RefreshNotifycation(arg0);

logger.Log("[TBR] 任務欄圖標更新完畢");

}

}

}

④ android中多個按鈕用一個監聽器監聽怎麼寫,求具體的代碼,謝謝。

1、先申明一個監聽對象
2、不同按鈕設置同一個監聽對象
3、監聽中,通過按鈕的id判斷是哪個按鈕的點擊事件
代碼如下
1、new監聽
OnClickListener clickListener = new OnClickListener(){
@Override
public void onClick(View v) {
if (v.getId()==R.id.button1){//按鈕1
}else if(v.getId()==R.id.button2}{//按鈕2
}
}
2、設置監聽
Button btn1 = (Button)findViewById(R.id.button1);
Button btn2 = (Button)findViewById(R.id.button1);
btn1.setOnClickListener(clickListener);
btn2.setOnClickListener(clickListener);

⑤ android onclick是怎樣實現的

Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
TextView textview = (TextView)findViewById(R.id.textView1);
textview.setText("Button");
}
});

這種方式用findviewbyid通過id實例化出來這個button,然後通過設置button的listener監聽對象,並同時實現介面OnClickListenter的OnClick()方法。這種方式的代碼量不多,但是在java中,面向對象的思想,關於耦合,模塊化它達不到。代碼堆疊在一起,比較臃腫。

⑥ 如何在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("我的按鈕被點擊了");

}

});

(6)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中的FileObserver

android.os包下面的FileObserver是一個用於監聽文件訪問創建修改刪除移動等操作的監聽器,基於Linux的INotfy
FileObserver是個抽象類,必須要繼承它才能使用,每個 FileObserver 監聽一個單獨的文件或者文件夾,如果監聽的是一個文件夾,那麼文件夾下所有文件或者級聯子目錄的改變都會觸發監聽事件。

FileObserver對象必須保持一個引用,確保不被垃圾回收器回收掉,否則就不會觸發事件,這里可以考慮使用Service服務。

⑧ android中,寫監聽器時老是出現以下情況,如何解決

不用myButton.setOnClickListener(new MyButtonListener),直接在裡面寫內容
myButton.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
……
}
});

⑨ android 資料庫怎麼監聽數據變化

在android中經常會用到改變資料庫內容後再去使用資料庫更新的內容,很多人會重新去query一遍,但是這樣的問題就是程序會特別占內存,而且有可能會摟關cursor而導致程序內存未釋放等等。其實android內部提供了一種ContentObserver的東西來監聽資料庫內容的變化。
ContentObserver的構造函數需要一個參數Hanlder,因為ContentObserver內部使用了一個實現Runnable介面的內部類NotificationRunnable,來實現資料庫內容的變化。需要使用hanlder去post消息。注冊ContentObserver的方法是:getContentResolver().registerContentObserver(uri, notifyForDescendents, observer).
上面3個參數為:uri----Uri類型,是需要監聽的資料庫的uri.
notifyForDescendents---boolean true的話就會監聽所有與此uri相關的uri。false的話則是直接特殊的uri才會監聽。一般都設置為true.
observer-----ContentObserver 就是需要的contentobserver.
初始化一個ContentObserver對象,重載onChange(boolean ),在這個方法里去操作資料庫的使用,針對變化後的使用。

⑩ Android 復選框 怎麼設事件監聽器

android沒有復選對話框吧,組合起來就還是和多選框一樣了,多選框的監聽和單選框一樣,也是setOnCheckchangeListener(引入包的時候注意別引成RadioButton的),你吧這個選擇的狀態保存起來,然後點確定的時候根據這個狀態來處理就好了。

熱點內容
帝豪換壓縮機 發布:2024-05-08 05:42:15 瀏覽:900
java文件時間 發布:2024-05-08 05:32:04 瀏覽:266
空氣壓強演算法 發布:2024-05-08 05:29:47 瀏覽:292
c語言中double的范圍 發布:2024-05-08 04:53:29 瀏覽:121
臟小豆伺服器怎麼加入 發布:2024-05-08 04:40:40 瀏覽:551
萬立存儲介質 發布:2024-05-08 04:33:02 瀏覽:637
ftppro特效復制方法 發布:2024-05-08 04:06:05 瀏覽:927
平板電腦編譯軟體 發布:2024-05-08 04:05:46 瀏覽:478
榮耀v6平板擴展存儲 發布:2024-05-08 03:41:12 瀏覽:423
安卓手機為什麼半年一更新 發布:2024-05-08 03:36:52 瀏覽:661