[Android流水化開發(fā)]工序3:如何增加點擊事件译柏,將各個頁面連接在一起镣煮?

步驟

  1. 在xml中對需要操作的組件添加id標識。常見標識如下:
  • 輸入組件鄙麦,如input_phone
  • 按鈕組件典唇,如btn_login(工序3只處理這一類組件)
  • 信息組件,如show_title
  • 容器組件胯府,如contain_title
  1. 透過ButterKnife Zelezny將 id 映射為 java 組件介衔、將btn映射為點擊方法。

  2. 用butterfork代替butterknife骂因。

  • butterfork.Bind; 替換 butterknife.Bind
  • butterfork.OnClick 替換 butterknife.OnClick
  • B.id.替換R.id.
  • 刪除ButterKnife的相關(guān)代碼炎咖。如:ButterKnife.bind(this, rootView);ButterKnife.unbind(this);寒波。
  1. 添加按鈕組件的點擊事件乘盼。
@OnClick(B.id.btn_forget_pass)
public void forgetPass(){
        DevUtil.showInfo(getActivity(), "跳轉(zhuǎn)忘記密碼頁面");
}
@OnClick(B.id.btn_login)
public void login(){
        DevUtil.showInfo(getActivity(), "登錄");
}
@OnClick(B.id.btn_register)
public void register(){
        DevUtil.showInfo(getActivity(), "跳轉(zhuǎn)注冊頁面");
}
  1. 添加頁面跳轉(zhuǎn)代碼
@OnClick(B.id.btn_login)
public void login(){
        DevUtil.showInfo(getActivity(), "模擬登錄");
        IntentUtil.gotoActivity(getActivity(), MainActivity.class);
}
@OnClick(B.id.btn_register)
public void register(){
        IntentUtil.gotoActivity(getActivity(), RegisterActivity.class);
}

常用代碼片段

一、啟動頁LaunchFragment

public class LaunchFragment extends BaseFragment {

    private long mLaunchViewDisplayTimeLength = 1000L; //啟動頁顯示的時間
    @Override
    public int getLayoutId() {
        return R.layout.fragment_launch;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = super.onCreateView(inflater, container, savedInstanceState);

        configLaunchView();
        return rootView;
    }
    /**
     * 配置啟動界面
     */
    public void configLaunchView() {


        SimpleSafeTask<Void> waitLaunchViewDismissedTask = new SimpleSafeTask<Void>(
                getActivity()) {

            @Override
            protected Void doInBackgroundSafely() throws Exception {
                Thread.sleep(mLaunchViewDisplayTimeLength);
                return null;
            }

            @Override
            protected void onPostExecuteSafely(Void resultInfo, Exception e) {
                super.onPostExecuteSafely(resultInfo, e);
                if(DataManager.isLogined()){
                    IntentUtil.gotoActivity(getActivity(), MainActivity.class);
                }
                else{
                    IntentUtil.gotoActivity(getActivity(), LoginActivity.class);
                }
                getActivity().finish();
            }

        };
        waitLaunchViewDismissedTask.execute();
    }
}

二影所、列表數(shù)據(jù)對應(yīng)的頁面

public class NearbyFragment extends AbsListViewNetFragment<TestModel> {
    @Bind(B.id.tv_title)
    TextView mTvTitle;
    @Bind(B.id.net_list)
    GridView mGvNearby;

    @Override
    public int getLayoutId() {
        return R.layout.fragment_nearby;
    }

    @Override
    protected ListNetResultInfo<TestModel> onDoInBackgroundSafely(int i, int i1) {
        return TestModel.getListNetResultInfo(100);
    }

    @Override
    public int getItemTextViewResourceId() {
        return R.id.tv_test;
    }

    @Override
    public int getItemLayoutId() {
        return R.layout.item_nearby_detail;
    }

    @Override
    public View bindView(int i, View view, ViewGroup viewGroup) {
        return view;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = super.onCreateView(inflater, container, savedInstanceState);
        mGvNearby.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                // TODO: 16/8/5 跳轉(zhuǎn)詳情列表 
                DevUtil.showInfo(getActivity(), "item 點擊");
            }
        });
        return rootView;
    }


    @OnClick(B.id.btn_goback)
    public void exit() {
        super.exit();
    }
}

【Android流水化開發(fā)】相關(guān)文章

  1. 理念·Android端開發(fā)效率如何提升4488倍蹦肴?
  2. 工序1:初始化項目框架
  3. 工序2:繪制xml
  4. 工序3:如何增加點擊事件,將各個頁面連接在一起猴娩?
  5. 工序4:封裝數(shù)據(jù)加載、上傳接口勺阐,并顯示卷中、跳轉(zhuǎn)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市渊抽,隨后出現(xiàn)的幾起案子蟆豫,更是在濱河造成了極大的恐慌,老刑警劉巖懒闷,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件十减,死亡現(xiàn)場離奇詭異栈幸,居然都是意外死亡,警方通過查閱死者的電腦和手機帮辟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門速址,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人由驹,你說我怎么就攤上這事芍锚。” “怎么了蔓榄?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵并炮,是天一觀的道長。 經(jīng)常有香客問我甥郑,道長逃魄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任澜搅,我火速辦了婚禮伍俘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘店展。我一直安慰自己养篓,他們只是感情好,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布赂蕴。 她就那樣靜靜地躺著柳弄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪概说。 梳的紋絲不亂的頭發(fā)上碧注,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音糖赔,去河邊找鬼萍丐。 笑死,一個胖子當著我的面吹牛放典,可吹牛的內(nèi)容都是我干的逝变。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼奋构,長吁一口氣:“原來是場噩夢啊……” “哼壳影!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起弥臼,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤宴咧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后径缅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掺栅,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡烙肺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了氧卧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桃笙。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖假抄,靈堂內(nèi)的尸體忽然破棺而出怎栽,到底是詐尸還是另有隱情,我是刑警寧澤宿饱,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布熏瞄,位于F島的核電站,受9級特大地震影響谬以,放射性物質(zhì)發(fā)生泄漏强饮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一为黎、第九天 我趴在偏房一處隱蔽的房頂上張望邮丰。 院中可真熱鬧,春花似錦铭乾、人聲如沸剪廉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽斗蒋。三九已至,卻和暖如春笛质,著一層夾襖步出監(jiān)牢的瞬間泉沾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工妇押, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留跷究,地道東北人。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓敲霍,卻偏偏與公主長得像俊马,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子肩杈,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

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