Android如何添加控件監(jiān)聽器(三種方式)
本文概述:
本文介紹了,在Android中為控件添加監(jiān)聽的三種常見方式
- 設置控件的onClick屬性
- 采用匿名內部類
- MainActivity 實現(xiàn) View.OnClickListener 接口
方式一:在布局中添加onClick屬性
編寫思路:
在布局文件中:
- 指定控件 id
- 指定控件onClick屬性
在MainActivity中:
- 在onCreate中拿到控件實例
- 在onCreate之外,創(chuàng)建監(jiān)聽方法(方法名與前面設置的onClick屬性相同)
布局代碼:指定控件的onClick屬性(已經(jīng)被廢棄掉了)
<Button …… android:id="@+id/button" android:onClick="buttonClick" …… />
Activity代碼:
public class MainActivity extends AppCompatActivity { ? private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); //獲取控件示例 button = findViewById(R.id.button); } ? public void buttonClick(View view) { setToast("點擊了button按鈕"); } ? public void setToast(String string){ Toast.makeText(this,string,Toast.LENGTH_SHORT).show(); } }
運行結果:可不可以限定Toast的提示位置?比如說將Toast放在中間去
方式二:采用匿名內部類
編寫思路:
在布局文件中:指定控件 id
在MainActivity中
在onCreate內:
- 獲取控件實例
- 為控件添加監(jiān)聽(使用匿名內部類重寫onClick方法)
布局代碼:此時不能設置onClick屬性
<Button …… android:id="@+id/button" …… />
Java 代碼
public class MainActivity extends AppCompatActivity { ? private Button button; ? @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); ? //獲取控件示例 button = findViewById(R.id.button); ? //添加監(jiān)聽 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { setToast("點擊了按鈕"); } }); } ? public void setToast(String string){ Toast.makeText(this,string,Toast.LENGTH_SHORT).show(); } }
運行結果:
方式三:MainActivity 實現(xiàn) View.OnClickListener 接口
編寫思路:
在布局文件中:
- 指定控件 id
在MainActivity聲明處:實現(xiàn) View.OnClickListener 接口
在MainActivity中:
在onCreate方法內:
- 拿到控件實例
- 為控件注冊監(jiān)聽器
在onCreate方法外:重寫onClick方法
布局代碼:
<Button …… android:id="@+id/button" …… />
MainActivity 代碼
public class MainActivity extends AppCompatActivity implements View.OnClickListener { ? private Button button; ? @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); ? //獲取控件示例 button = findViewById(R.id.button); //為控件注冊監(jiān)聽器 button.setOnClickListener(this); } ? public void setToast(String string){ Toast.makeText(this,string,Toast.LENGTH_SHORT).show(); } ? @Override public void onClick(View view) { setToast("按鈕被點擊了"); } }
運行效果:
到此這篇關于Android如何添加控件監(jiān)聽器(三種方式)的文章就介紹到這了,更多相關Android 控件監(jiān)聽器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Android關于Glide的使用(高斯模糊、加載監(jiān)聽、圓角圖片)
這篇文章主要為大家詳細介紹了Android關于Glide的使用,內容豐富,高斯模糊、加載監(jiān)聽、圓角圖片希望大家可以掌握,感興趣的小伙伴們可以參考一下2016-11-11Android數(shù)據(jù)緩存框架內置ORM功能使用教程
這篇文章主要為大家介紹了Android數(shù)據(jù)緩存框架內置ORM功能使用教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09