Android studio的监听器初学者要懂
首先,什么是監(jiān)聽器呢?監(jiān)聽器的作用是什么呢?我們?nèi)绾稳ナ褂盟?#xff1f;
1.什么是監(jiān)聽器:監(jiān)聽器的作用是什么呢?
監(jiān)聽器顧名思義,一旦你的按鈕或者其他組件被你用例如鼠標(biāo)點(diǎn)擊,就會(huì)產(chǎn)生一個(gè)事件出來(lái),這個(gè)事件就需要我們?nèi)ケO(jiān)聽他,監(jiān)聽后并把需要執(zhí)行的代碼給予這個(gè)點(diǎn)擊事件
2.我們?nèi)绾稳ナ褂盟?#xff1a;
首先在XML文件里面需要把組件建立一個(gè)唯一的名字,例如:
<Buttonandroid:id="@+id/btn1"android:layout_width="match_parent"android:layout_height="wrap_content"/>?
然后在java的編程框頁(yè)面Activity中編寫代碼,讓頁(yè)面Activity的onCreate方法能夠找到這個(gè)組件并進(jìn)行監(jiān)聽,實(shí)現(xiàn)方法就是通過(guò)匿名內(nèi)部類來(lái)實(shí)現(xiàn)點(diǎn)擊觸發(fā),例如:
強(qiáng)制轉(zhuǎn)換是因?yàn)閎tn1組件的源代碼是View類型的,小轉(zhuǎn)大,需要強(qiáng)制轉(zhuǎn)換
用setOnClickListener+匿名內(nèi)部類的方法監(jiān)聽,重寫onClick方法
其中的參數(shù)View v是形式參數(shù)
public class DemoMainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_demo_main);Button btn= (Button) findViewById(R.id.btn1);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(DemoMainActivity.this, "這個(gè)按鈕被點(diǎn)擊了,這是提示框", Toast.LENGTH_SHORT).show();}});} }?
目前主流的有兩種辦法為普通按鈕添加單擊事件監(jiān)聽器
一種是上面介紹的匿名內(nèi)部類作為單擊事件監(jiān)聽器
一種是onClick屬性實(shí)現(xiàn),相當(dāng)于在布局文件中調(diào)用方法
接下來(lái)講第二種方法:
xml中的代碼如下,添加多一個(gè)按鈕在相對(duì)布局管理器中,并設(shè)置ID,重點(diǎn)是設(shè)置onClick相當(dāng)于去java中調(diào)用該方法
<Buttonandroid:id="@+id/btn1"android:layout_width="match_parent"android:layout_height="wrap_content"/><Buttonandroid:id="@+id/btn2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="btn2"android:layout_below="@+id/btn1"android:onClick="myOnClick"/>?java代碼如下:
相當(dāng)于另外寫一個(gè)自定義的方法,在方法里面實(shí)現(xiàn)語(yǔ)句功能
public class DemoMainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_demo_main);Button btn= (Button) findViewById(R.id.btn1);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(DemoMainActivity.this, "這個(gè)按鈕被點(diǎn)擊了,這是提示框", Toast.LENGTH_SHORT).show();}});}public void myOnClick(View view){Toast.makeText(DemoMainActivity.this, "這個(gè)按鈕2被點(diǎn)擊了,這是提示框", Toast.LENGTH_SHORT).show();} }?
總結(jié)
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Android studio的监听器初学者要懂的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle 删除系统用户,Oracle
- 下一篇: hash地址_深入浅出一致性Hash原理