摘要:本文分享開發(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
摘要:本文分享開發(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...
摘要:在這個(gè)窗口之上,可以添加各種輸入框按鈕文本等,可以增加對(duì)各種動(dòng)作的處理。事件要與特定的控件相綁定,比如按鈕有點(diǎn)擊事件,輸入框有按鍵事件,窗體有關(guān)閉事件等。 在大多數(shù)時(shí)候,我們都在黑黢黢的控制臺(tái)里執(zhí)行 Python 腳本。這看起來很酷很 GEEK。但對(duì)于部分場景下的用戶來說,這樣就不大美觀和人性化了:我們需要交互更方便的圖形化產(chǎn)品,也就是 GUI (圖形用戶界面,Graphical Us...
摘要:所以無需太過介懷是實(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); 本文能幫你做什么?...
摘要:接下來要看看這個(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)行了簡化改造,...
閱讀 1909·2021-11-24 11:16
閱讀 3262·2021-09-10 10:51
閱讀 3209·2021-08-03 14:03
閱讀 1268·2019-08-29 17:03
閱讀 3249·2019-08-29 12:36
閱讀 2237·2019-08-26 14:06
閱讀 500·2019-08-23 16:32
閱讀 2688·2019-08-23 13:42