2012-07-26 67 views
0

我正在爲一堆Android應用程序編寫測試程序。我打算先在屏幕上獲取所有視圖對象(不是ViewGroup的實例),並針對它們觸發事件(通過robotium或sdk提供的方法)。問題是,我不知道註冊到這些視圖對象的EventListener類型。我嘗試將CLICK發送給所有這些對象,但LongCLICK還有很多其他事件處理程序,flip,doubletap etc。那麼無論如何,我可以在運行時爲Android UI組件註冊EventListener嗎?如何在運行時爲Android UI組件註冊EventListener

回答

0

大衛你好,你可以使用監聽器按鈕setOnClickListener()。但是,如果您希望CheckBox的偵聽器,您可以使用setOnCheckedChangeListener()/ setOnClickListener()來確定CheckBox的狀態。類似地,您必須根據您的要求/用例實現View的偵聽器。 如果你想實現監聽器的按鈕,你可以通過以下方式來實現。

Button b= (Button)findViewById(R.id.yourBtnName); 
b.setOnClickListener(BtnListener); 

private OnClickListener BtnListener = new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     // Here you can perform your stuff 
    } 
    } 
+0

嗨! Akshay,我想要做的是在運行時檢查,例如,在測試程序中,如果某個視圖已經註冊了監聽器。 – 2012-08-07 01:02:50

0

你看過Android SDK附帶的Hierarchy Viewer工具嗎?我認爲層次瀏覽器提供了這些信息。