您好,登錄后才能下訂單哦!
在Activity中需要獲取一個(gè)id是bookName的TextView控件對象,
(TextView)this.findViewById(R.id.bookName)
使用findViewById方法獲取一個(gè)View對象,參數(shù)為控件的id,同時(shí)還需要把View對象強(qiáng)制轉(zhuǎn)換成相應(yīng)的類型
EditText的眾多屬性中可以限制輸入格式的屬性:
android:inputType
設(shè)置EditText的android:inputType屬性可以限制文本輸入類型比如android:inputType="textPassword"為設(shè)置輸入格式為密碼格,
android:inputType="phone"為設(shè)置輸入格式為撥號鍵盤
Button
可以設(shè)置文本內(nèi)容的一個(gè)按鈕
ImageButton
不可以設(shè)置文本內(nèi)容
src:自適應(yīng); background:填充
ImageButton的android:text屬性不可以直接賦值
ImageButton是用于在按鈕上顯示圖片的。所以是沒有android:text這個(gè)屬性的。并且如果在布局文件中寫上android:text="我是一個(gè)按鈕",在android 4.4環(huán)境中是不會(huì)看到任何效果的
1、Button和ImageButton都擁有一個(gè) .setOnClickListener(OnClickListener)方法添加點(diǎn)擊事件。
2、所有的控件都有一個(gè)onclick事件
3、通過點(diǎn)擊事件的監(jiān)聽可以實(shí)現(xiàn)點(diǎn)擊按鈕后發(fā)生的動(dòng)作
監(jiān)聽事件實(shí)現(xiàn)的幾種方式:
1、匿名內(nèi)部類實(shí)現(xiàn)
public class MainActivity extends AppCompatActivity { private Button loginButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*** * 1、初始化當(dāng)前所需要的控件 * findViewById--- 返回一個(gè)View對象 * 2、設(shè)置Button的監(jiān)聽器,通過監(jiān)聽器實(shí)現(xiàn)點(diǎn)擊Button的操作 */ loginButton=(Button) findViewById(R.id.button); //監(jiān)聽事件匿名內(nèi)部類實(shí)現(xiàn) loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //在當(dāng)前方法中監(jiān)聽點(diǎn)擊Button的事件 Toast.makeText(MainActivity.this, "You clicked first button", Toast.LENGTH_SHORT).show(); } }); } }
同時(shí)給一個(gè)Button和ImageButton添加Toast事件:
public class MainActivity extends AppCompatActivity{ private Button bt1; private ImageButton bt3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*** * 1、初始化當(dāng)前所需要的控件 * findViewById--- 返回一個(gè)View對象 * 2、設(shè)置Button的監(jiān)聽器,通過監(jiān)聽器實(shí)現(xiàn)點(diǎn)擊Button的操作 */ bt1=(Button) findViewById(R.id.button); bt3=(ImageButton)findViewById(R.id.button_i); //監(jiān)聽事件匿名內(nèi)部類實(shí)現(xiàn) bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //在當(dāng)前方法中監(jiān)聽點(diǎn)擊Button的事件 Toast.makeText(MainActivity.this, "You clicked first button", Toast.LENGTH_SHORT).show(); } }); bt3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "You clicked Image button", Toast.LENGTH_SHORT).show(); } }); /*** * 外部類實(shí)現(xiàn) */ // bt1.setOnClickListener(new MyOnClickListener(){ // public void onClick(View view){ // super.onClick(view); // Toast.makeText(MainActivity.this,"點(diǎn)擊了普通按鈕",Toast.LENGTH_LONG).show(); // } // }); } // @Override // public void onClick(View view) { // Log.i("tag","第三種方式"); // } } ////實(shí)現(xiàn)一個(gè)點(diǎn)擊事件的接口 //class MyOnClickListener implements View.OnClickListener{ // // @Override // public void onClick(View view) { // Log.i("tag","父類的onClick事件"); // } //}
2、獨(dú)立類的實(shí)現(xiàn)
新建一個(gè)類:
////實(shí)現(xiàn)一個(gè)點(diǎn)擊事件的接口
//class MyOnClickListener implements View.OnClickListener{
//
// @Override
// public void onClick(View view) {
// Log.i("tag","父類的onClick事件");
// }
//}
實(shí)例化新建的類實(shí)現(xiàn)點(diǎn)擊事件:
/***
* 外部類實(shí)現(xiàn)
*/
// bt1.setOnClickListener(new MyOnClickListener(){
// public void onClick(View view){
// super.onClick(view);
// Toast.makeText(MainActivity.this,"點(diǎn)擊了普通按鈕",Toast.LENGTH_LONG).show();
// }
// });
3、實(shí)現(xiàn)接口的方式來實(shí)現(xiàn)
直接實(shí)現(xiàn)一個(gè)OnClickListener接口
public class MainActivity extends AppCompatActivity 重寫方法: @Override public void onClick(View view) { Log.i("tag","第三種方式"); } 實(shí)現(xiàn)點(diǎn)擊事件: // //接口方式實(shí)現(xiàn)監(jiān)聽事件: // //傳入this,即實(shí)現(xiàn)當(dāng)前實(shí)現(xiàn)的接口重寫的Onclick方法提供的事件 // bt3.setOnClickListener(this);
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。