RxBinding系列RxTextView search 搜索

前言
RxBinding 是 Jake Wharton 的一個(gè)開源庫(kù),它提供了一套在 Android 平臺(tái)上的基于 RxJava的 Binding API痕支。所謂 Binding郭蕉,就是類似設(shè)置 OnClickListener 呵晨、設(shè)置 TextWatcher 這樣的注冊(cè)綁定對(duì)象的 API诡右。

  • 本篇一起來(lái)學(xué)習(xí)RxBinding中的RxTextView稠项,J大神將Android中TextView的一些事件及動(dòng)作加以RxJava的觀察者模式并封裝了起來(lái)就形成了RxTextView升筏,使用起來(lái)也很簡(jiǎn)單撑柔。

一:git地址

https://github.com/JakeWharton/RxBinding

listView 的點(diǎn)擊事件、長(zhǎng)按事件處理

listView = (ListView) findViewById( R.id.listview );

 List<String> list = new ArrayList<>() ;
     for ( int i = 0 ; i < 40 ; i++ ){
         list.add( "sss" + i ) ;
     }

 final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1 );
     adapter.addAll( list );

 listView.setAdapter( adapter );

 //item click event
 RxAdapterView.itemClicks( listView )
     .subscribe(new Action1<Integer>() {
         @Override
         public void call(Integer integer) {
         Toast.makeText(ListActivity.this, "item click " + integer , Toast.LENGTH_SHORT).show();
             }
         }) ;

 //item long click
 RxAdapterView.itemLongClicks( listView)
     .subscribe(new Action1<Integer>() {
         @Override
         public void call(Integer integer) {
             Toast.makeText(ListActivity.this, "item long click " + integer , Toast.LENGTH_SHORT).show();
             }
         }) ;

搜索的時(shí)候您访,關(guān)鍵詞聯(lián)想功能 铅忿。debounce()在一定的時(shí)間內(nèi)沒(méi)有操作就會(huì)發(fā)送事件。

editText = (EditText) findViewById( R.id.editText );
 listView = (ListView) findViewById( R.id.listview );

 final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1 );
 listView.setAdapter( adapter );

 RxTextView.textChanges( editText )
             .debounce( 600 , TimeUnit.MILLISECONDS )
             .map(new Func1<CharSequence, String>() {
                 @Override
                 public String call(CharSequence charSequence) {
                     //get the keyword
                     String key = charSequence.toString() ;
                     return key ;
                 }
             })
             .observeOn( Schedulers.io() )
             .map(new Func1<String, List<String>>() {
                 @Override
                 public List<String> call(String keyWord ) {
                     //get list
                     List<String> dataList = new ArrayList<String>() ;
                     if ( ! TextUtils.isEmpty( keyWord )){
                         for ( String s : getData()  ) {
                             if (s != null) {
                                 if (s.contains(keyWord)) {
                                     dataList.add(s);
                                 }
                             }
                         }
                     }
                     return dataList ;
                 }
             })
             .observeOn( AndroidSchedulers.mainThread() )
             .subscribe(new Action1<List<String>>() {
                 @Override
                 public void call(List<String> strings) {
                     adapter.clear();
                     adapter.addAll( strings );
                     adapter.notifyDataSetChanged();
                 }
             }) ;
image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末洋只,一起剝皮案震驚了整個(gè)濱河市辆沦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌识虚,老刑警劉巖肢扯,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異担锤,居然都是意外死亡蔚晨,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門肛循,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)铭腕,“玉大人,你說(shuō)我怎么就攤上這事多糠±巯希” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵夹孔,是天一觀的道長(zhǎng)被盈。 經(jīng)常有香客問(wèn)我,道長(zhǎng)搭伤,這世上最難降的妖魔是什么只怎? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮怜俐,結(jié)果婚禮上身堡,老公的妹妹穿的比我還像新娘。我一直安慰自己拍鲤,他們只是感情好贴谎,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布汞扎。 她就那樣靜靜地躺著,像睡著了一般擅这。 火紅的嫁衣襯著肌膚如雪佩捞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天蕾哟,我揣著相機(jī)與錄音,去河邊找鬼莲蜘。 笑死谭确,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的票渠。 我是一名探鬼主播逐哈,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼问顷!你這毒婦竟也來(lái)了昂秃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤杜窄,失蹤者是張志新(化名)和其女友劉穎肠骆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塞耕,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚀腿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扫外。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片莉钙。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖筛谚,靈堂內(nèi)的尸體忽然破棺而出磁玉,到底是詐尸還是另有隱情,我是刑警寧澤驾讲,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布蚊伞,位于F島的核電站,受9級(jí)特大地震影響蝎毡,放射性物質(zhì)發(fā)生泄漏厚柳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一沐兵、第九天 我趴在偏房一處隱蔽的房頂上張望别垮。 院中可真熱鬧,春花似錦扎谎、人聲如沸碳想。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)胧奔。三九已至逊移,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間龙填,已是汗流浹背胳泉。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留岩遗,地道東北人扇商。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像宿礁,于是被迫代替她去往敵國(guó)和親案铺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,280評(píng)論 25 707
  • afinalAfinal是一個(gè)android的ioc梆靖,orm框架 https://github.com/yangf...
    passiontim閱讀 15,435評(píng)論 2 45
  • 前言 我從去年開始使用 RxJava 控汉,到現(xiàn)在一年多了。今年加入了 Flipboard 后返吻,看到 Flipboar...
    AWeiLoveAndroid閱讀 2,860評(píng)論 4 42
  • 用一朵花姑子,折成信箋,輕輕放飛测僵,訴壁酬,是我如花的心事,還是被春風(fēng)輕輕彈落的一席花語(yǔ)恨课? ——題記 喜...
    瀲素月閱讀 603評(píng)論 8 6
  • 你的眼睛里有一片大草原 萬(wàn)馬奔騰 若隱若現(xiàn) 我的腦子里有一堆黑星火 勢(shì)如破竹 忽明忽暗
    玩主楊笑閱讀 147評(píng)論 0 0