国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Fragment中監(jiān)聽onKey事件

Berwin / 3144人閱讀

摘要:本文分享開發(fā)中監(jiān)聽事件主要代碼,供技術(shù)員參考學(xué)習(xí)。項(xiàng)目中越來越多的用到,下面記錄一下在中監(jiān)聽的事件。實(shí)現(xiàn)事件,判斷當(dāng)前的是哪一個(gè),是不是所需要的然后在需要監(jiān)聽事件的中寫一個(gè)靜態(tài)方法,傳遞與事件即可。

wemall-mobile是基于WeMall的android app商城,只需要在原商城目錄下上傳接口文件即可完成服務(wù)端的配置,客戶端可定制修改。本文分享android開發(fā)Fragment中監(jiān)聽onKey事件主要代碼,供技術(shù)員參考學(xué)習(xí)。
項(xiàng)目中越來越多的用到Fragment,下面記錄一下在ActionBar中監(jiān)聽Fragment的onKey事件。
  ActionBar實(shí)現(xiàn)Onkey事件,判斷當(dāng)前的fragment是哪一個(gè),是不是所需要的Fragment,然后在需要監(jiān)聽OnKey事件的Fragment中寫一個(gè)靜態(tài)方法,傳遞keycode與event事件即可。

package info.androidhive.tabsswipe;
    import info.androidhive.tabsswipe.adapter.TabsPagerAdapter;
    import android.annotation.SuppressLint;
    import android.app.SearchManager;
    import android.content.Context;
    import android.support.v7.app.ActionBar;
    import android.support.v7.app.ActionBar.Tab;
    import android.support.v7.app.ActionBarActivity;
    import android.support.v7.widget.SearchView;
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.support.v4.view.MenuItemCompat;
    import android.support.v4.view.ViewPager;
    import android.util.Log;
    import android.view.KeyEvent;
    import android.view.Menu;
    import android.view.MenuItem;
    
    @SuppressLint("NewApi")
    public class MainActivity extends ActionBarActivity  implements
            ActionBar.TabListener {
    
        private ViewPager viewPager;
        private TabsPagerAdapter mAdapter;
        private ActionBar actionBar;
        private Fragment fg;
        // Tab titles
        private String[] tabs = { "TopRatedFragment", "GamesFragment", "MoviesFragment" };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // Initilization
            viewPager = (ViewPager) findViewById(R.id.pager);
            actionBar = getSupportActionBar();
            mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
            viewPager.setOffscreenPageLimit(3);
            viewPager.setAdapter(mAdapter);
            actionBar.setHomeButtonEnabled(false);
            actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        
    
            // Adding Tabs
            for (String tab_name : tabs) {
                actionBar.addTab(actionBar.newTab().setText(tab_name)
                        .setTabListener(this));
            }
    
            /**
             * on swiping the viewpager make respective tab selected
             * */
            viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    
                public void onPageSelected(int position) {
                    // on changing the page
                    // make respected tab selected
    //                actionBar.setSelectedNavigationItem(position);
                    actionBar.selectTab(actionBar.getTabAt(position));
                    mAdapter.getItem(position);
                    
                }
    
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                }
    
                public void onPageScrollStateChanged(int arg0) {
                }
            });
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
    //        
            SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
            getMenuInflater().inflate(R.menu.main, menu);
            MenuItem searchItem = menu.findItem(R.id.action_settings);
            SearchView searchview = (SearchView)MenuItemCompat.getActionView(searchItem);
            searchview.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
            return super.onCreateOptionsMenu(menu);
        }
        
        
        public void onTabReselected(Tab arg0,
                android.support.v4.app.FragmentTransaction arg1) {
            // TODO Auto-generated method stub
            
        }
    
        public void onTabSelected(Tab arg0,
                android.support.v4.app.FragmentTransaction arg1) {
            // TODO Auto-generated method stub
            viewPager.setCurrentItem(arg0.getPosition());
            fg = mAdapter.getItem(arg0.getPosition());
            Log.d("fg", fg+"");
        }
    
        public void onTabUnselected(Tab arg0,
                android.support.v4.app.FragmentTransaction arg1) {
            // TODO Auto-generated method stub
            
        }
    
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            Log.d("ActionBar", "OnKey事件");
            if(fg instanceof GamesFragment){
                GamesFragment.onKeyDown(keyCode, event);
            }
            return super.onKeyDown(keyCode, event);
        }
    }

原文詳情地址:http://git.oschina.net/einsqi...
wemall-mobile商城詳情地址:http://www.koahub.com/home/pr...
wemall官網(wǎng)地址:http://www.wemallshop.com
WeMall - 開源微商城 微信商城 商城源碼 分銷商城 b2b2c商城系統(tǒng)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/22089.html

相關(guān)文章

  • Fragment監(jiān)聽onKey事件

    摘要:本文分享開發(fā)中監(jiān)聽事件主要代碼,供技術(shù)員參考學(xué)習(xí)。項(xiàng)目中越來越多的用到,下面記錄一下在中監(jiān)聽的事件。實(shí)現(xiàn)事件,判斷當(dāng)前的是哪一個(gè),是不是所需要的然后在需要監(jiān)聽事件的中寫一個(gè)靜態(tài)方法,傳遞與事件即可。 wemall-mobile是基于WeMall的android app商城,只需要在原商城目錄下上傳接口文件即可完成服務(wù)端的配置,客戶端可定制修改。本文分享android開發(fā)Fragment...

    cpupro 評(píng)論0 收藏0
  • Python的門面擔(dān)當(dāng) - Tkinter

    摘要:在這個(gè)窗口之上,可以添加各種輸入框按鈕文本等,可以增加對(duì)各種動(dòng)作的處理。事件要與特定的控件相綁定,比如按鈕有點(diǎn)擊事件,輸入框有按鍵事件,窗體有關(guān)閉事件等。 在大多數(shù)時(shí)候,我們都在黑黢黢的控制臺(tái)里執(zhí)行 Python 腳本。這看起來很酷很 GEEK。但對(duì)于部分場景下的用戶來說,這樣就不大美觀和人性化了:我們需要交互更方便的圖形化產(chǎn)品,也就是 GUI (圖形用戶界面,Graphical Us...

    Lucky_Boy 評(píng)論0 收藏0
  • 擼個(gè)簡單的MVVM框架

    摘要:所以無需太過介懷是實(shí)現(xiàn)的單向或雙向綁定。響應(yīng)事件瀏覽器變更事件事件執(zhí)行或數(shù)據(jù)劫持則是采用數(shù)據(jù)劫持結(jié)合發(fā)布者訂閱者模式的方式,通過來劫持各個(gè)屬性的,,在數(shù)據(jù)變動(dòng)時(shí)發(fā)布消息給訂閱者,觸發(fā)相應(yīng)的監(jiān)聽回調(diào)。 剖析Vue實(shí)現(xiàn)原理 - 如何實(shí)現(xiàn)雙向綁定mvvm showImg(https://segmentfault.com/img/bVbexsm?w=1446&h=820); 本文能幫你做什么?...

    imingyu 評(píng)論0 收藏0
  • 剖析Vue實(shí)現(xiàn)原理 - 如何實(shí)現(xiàn)雙向綁定mvvm(轉(zhuǎn)載)

    摘要:接下來要看看這個(gè)訂閱者的具體實(shí)現(xiàn)了實(shí)現(xiàn)訂閱者作為和之間通信的橋梁,主要做的事情是在自身實(shí)例化時(shí)往屬性訂閱器里面添加自己自身必須有一個(gè)方法待屬性變動(dòng)通知時(shí),能調(diào)用自身的方法,并觸發(fā)中綁定的回調(diào),則功成身退。 本文能幫你做什么?1、了解vue的雙向數(shù)據(jù)綁定原理以及核心代碼模塊2、緩解好奇心的同時(shí)了解如何實(shí)現(xiàn)雙向綁定為了便于說明原理與實(shí)現(xiàn),本文相關(guān)代碼主要摘自vue源碼, 并進(jìn)行了簡化改造,...

    nemo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<