2016-03-29 39 views
1

有沒有辦法在Android中綁定整個片段的輸入更改事件,就像在Web中一樣,當用戶在輸入字段中更改某些內容時,我們可以爲整個表單做這些事情?如何在Android中綁定整個片段的輸入更改事件?

例如:假設我有一個Fragment,其中包含不同的輸入視圖,如TextField,CheckBox和e.t.c.我想爲所有輸入字段綁定一個輸入更改事件,並通知用戶是否在用戶界面上更改了某些內容。

回答

2

我不認爲有這樣的一種方式。

當談論標準的android視圖時,很容易定義'change',但是這個概念太抽象了,不能像這樣實現,因爲'change'對於自定義組件可能不同。即使TextView有3種方法用於更改文本時。

你可以做的事情就是讓你的片段執行TextWatcherOnCheckedChangeListener(和其他聽衆對其他形式的組件)和onViewCreated()方法設定他們的意見。 在偵聽器觸發方法(onAfterTextChanged,onChecked等)中,您可以調用一些updateUiState()方法,它將檢查表單的當前狀態並執行所需的操作(它可以檢查是否所有文本字段都已填充以啓用提交按鈕) )。

0

幾乎所有組件都有偵聽器,您可以在其中處理事件。

例如,多選:

checkBox = (CheckBox)findViewById(R.id.sateliteCheckBox); 

satView.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
     if (isChecked){ 
       // perform logic 
     } 
    } 
}); 
+0

這裏的問題是,我不想爲每個視圖綁定單獨的事件。 – karate

相關問題