安卓事件机制与页面跳转
? ? ? 昨天學(xué)習(xí)了安卓開發(fā)中實現(xiàn)點擊一個按鈕實現(xiàn)頁面的跳轉(zhuǎn)。
? ? ? 首先點擊一個按鈕就會觸發(fā)動作,這里就是給按鈕加監(jiān)聽。一般對于事件監(jiān)聽,我們需要了解以下三類對象:事件源、事件、事件監(jiān)聽器,一般在安卓里,事件源就是指在哪個組件或窗口上發(fā)生動作,這里的事件源就是按鈕;而事件則是指在這個事件源上發(fā)生了什么事情,如點擊、懸浮等等;事件監(jiān)聽器則是針對發(fā)生的事件作出相應(yīng)的反應(yīng),這里就是指點擊按鈕后發(fā)生頁面的跳轉(zhuǎn)。在?activity_main.xml文件中已經(jīng)存在了按鈕,我們無需再去實例化一個,而只要找到那個按鈕并對它實現(xiàn)監(jiān)聽即可。因此,可以通過R文件將兩者聯(lián)系起來,Activity中有一個findViewById()方法可以由此獲取按鈕的id從而得到這個按鈕,示例代碼如下:
1 //通過findViewById方法找到控件并強(qiáng)制轉(zhuǎn)型,這里之所以能強(qiáng)制轉(zhuǎn)型是因為 Button是繼承自view 2 Button LoginButton = (Button)this.findViewById(R.id.btnLogin); 3 4 //創(chuàng)建一個監(jiān)聽器對象,并把這個activity即this傳過去 5 ClickListener btnListener = new ClickListener(this); 6 7 //給按鈕添加監(jiān)聽器 8 LoginButton.setOnClickListener(btnListener);注意:這里是使用了外部類定義事件監(jiān)聽器類。
?
? ? 事件監(jiān)聽器類是實現(xiàn)了OnClickListener接口,并重寫了它里面的onClick(View v)方法。我們點擊了登錄按鈕后就執(zhí)行這個方法,在這個方法里,首先要獲取用戶輸入的信息,并進(jìn)行驗證,滿足要求后才可啟動頁面跳轉(zhuǎn)。其中用到了信息提示框,用到的方法是Toast(),其中的三個參數(shù)分別表示的含義是,第一個:上下文對象;第二個:出現(xiàn)的提示內(nèi)容;第三個:提示的時間長短。
1 public void onClick(View v) { 2 //找到用戶名輸入框控件對象.獲取用戶名并將其轉(zhuǎn)換為字符串型 3 EditText editUserName =(EditText)la.findViewById(R.id.editUserName); 4 String username = editUserName.getText().toString(); 5 6 //找到密碼輸入框控件對象,獲取密碼并轉(zhuǎn)換為字符串 7 EditText editPassword =(EditText)la.findViewById(R.id.editPassword); 8 String password = editPassword.getText().toString(); 9 10 //判斷用戶名是否為空 11 if("".equals(username)){ 12 //在界面上顯示提示錯誤信息 13 Toast.makeText(la,"請輸入用戶名!", Toast.LENGTH_SHORT).show(); 14 return; 15 } 16 if("".equals(password)){ 17 Toast.makeText(la,"請輸入密碼!", Toast.LENGTH_SHORT).show(); 18 return; 19 } 20 if("admin".equals(username) && "123456".equals(password)){ 21 //在界面上顯示登錄成功信息 22 Toast.makeText(la,"登錄成功!", Toast.LENGTH_LONG).show(); 23 } else { 24 Toast.makeText(la,"對不起!用戶名或密碼錯誤!", Toast.LENGTH_LONG).show(); 25 } 26 } 頁面跳轉(zhuǎn)是從當(dāng)前的Activity對象跳到另一個Activity對象,這里我們需要用到Intent對象,通過在創(chuàng)建Intent對象的時候給Intent設(shè)置不同的參數(shù)讓系統(tǒng)知道我們需要跳轉(zhuǎn)到哪一個界面所以在登錄成功信息后面再加上下列代碼
1 //創(chuàng)建Intent對象,給它參數(shù) 2 //Intent 構(gòu)造方法的第一個參數(shù)是當(dāng)前界面的 Activity 對象,第二個參數(shù)是要跳轉(zhuǎn)到另一個界面對應(yīng)的 Activity 類 3 Intent ?intent ?= ?new ?Intent(la,SecondActivity.class); 4 5 //也可向下一個界面?zhèn)鬟f參數(shù) 6 intent.putExtra("msg", ?"我來自第一個Activity"); 7 8 //啟動跳轉(zhuǎn) 9 la.startActivity(intent);
?
?
?
? ? ?
轉(zhuǎn)載于:https://www.cnblogs.com/tyingxy/p/5244332.html
總結(jié)
以上是生活随笔為你收集整理的安卓事件机制与页面跳转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: swift学习笔记-----swift中
- 下一篇: Ecshop:后台添加新功能栏目以及管理