Pages

Thứ Ba, 18 tháng 6, 2019

Sử dụng biến

Sử dụng biến (Event Listener using Variable)

Cách này là một kiểu khác của cách 3 thôi chứ không có gì đặc biệt thay vì bạn implement interface thì ở đây bạn sẽ tạo thẳng một biến thuộc interface đó rồi set sự kiện cho biến đó lắng nghe các event từ View.

Định nghĩa 2 button trong tập tin xml:

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:tools="http://schemas.android.com/tools"      android:layout_width="match_parent"      android:layout_height="match_parent"      android:paddingBottom="@dimen/activity_vertical_margin"      android:paddingLeft="@dimen/activity_horizontal_margin"      android:paddingRight="@dimen/activity_horizontal_margin"      android:paddingTop="@dimen/activity_vertical_margin"      tools:context="hiepsiit.com.MainActivity" >           <Button          android:id="@+id/btnLogin"          android:layout_width="wrap_content"          android:layout_height="wrap_content"                  android:layout_marginLeft="14dp"          android:layout_marginTop="57dp"          android:text="Login" />        <Button          android:id="@+id/btnLogout"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:layout_alignBaseline="@+id/btnLogin"          android:layout_alignBottom="@+id/btnLogin"          android:layout_marginLeft="33dp"          android:layout_toRightOf="@+id/btnLogin"          android:text="Logout" />    </RelativeLayout>

Chúng ta khai báo biến onClick trong tập Java:

  //khai báo biến onClick tại đây  	OnClickListener onClick = new OnClickListener() {  		  		@Override  		public void onClick(View v) {  			// TODO Auto-generated method stub  			if(v==btnLogin)  				// Hiện thị thông báo trong vòng vài giây  				Toast.makeText(getApplication(), "Hiệp Sĩ IT: Bạn đang Click vào Button Login", Toast.LENGTH_LONG).show();  			else if(v==btnLogout)  				// Hiện thị thông báo trong vòng vài giây  				Toast.makeText(getApplication(), "Hiệp Sĩ IT: Bạn đang Click vào Button Logout", Toast.LENGTH_LONG).show();  				  		}  	};

Gọi biến onClick trong tập tin Java:

  //khai báo biến onClick tại đây  	OnClickListener onClick = new OnClickListener() {  		  		@Override  		public void onClick(View v) {  			// TODO Auto-generated method stub  			if(v==btnLogin)  				// Hiện thị thông báo trong vòng vài giây  				Toast.makeText(getApplication(), "Hiệp Sĩ IT: Bạn đang Click vào Button Login", Toast.LENGTH_LONG).show();  			else if(v==btnLogout)  				// Hiện thị thông báo trong vòng vài giây  				Toast.makeText(getApplication(), "Hiệp Sĩ IT: Bạn đang Click vào Button Logout", Toast.LENGTH_LONG).show();  				  		}  	};

Toàn bộ source trong tập tin Java:

  package hiepsiit.com;    import android.app.Activity;  import android.os.Bundle;  import android.view.Menu;  import android.view.MenuItem;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;  import android.widget.Toast;    public class MainActivity extends Activity {  	Button btnLogin, btnLogout;  	//khai báo biến onClick tại đây  	OnClickListener onClick = new OnClickListener() {  		  		@Override  		public void onClick(View v) {  			// TODO Auto-generated method stub  			if(v==btnLogin)  				// Hiện thị thông báo trong vòng vài giây  				Toast.makeText(getApplication(), "Hiệp Sĩ IT: Bạn đang Click vào Button Login", Toast.LENGTH_LONG).show();  			else if(v==btnLogout)  				// Hiện thị thông báo trong vòng vài giây  				Toast.makeText(getApplication(), "Hiệp Sĩ IT: Bạn đang Click vào Button Logout", Toast.LENGTH_LONG).show();  				  		}  	};  	@Override  	protected void onCreate(Bundle savedInstanceState) {  		super.onCreate(savedInstanceState);  		setContentView(R.layout.activity_main);  		btnLogin	=	(Button)findViewById(R.id.btnLogin);  		btnLogout	=	(Button)findViewById(R.id.btnLogout);  		// Truyền biến onClick ở trên cho từng phương thức  		btnLogin.setOnClickListener(onClick);  		btnLogout.setOnClickListener(onClick);  	}    	@Override  	public boolean onCreateOptionsMenu(Menu menu) {  		// Inflate the menu; this adds items to the action bar if it is present.  		getMenuInflater().inflate(R.menu.main, menu);  		return true;  	}    	@Override  	public boolean onOptionsItemSelected(MenuItem item) {  		// Handle action bar item clicks here. The action bar will  		// automatically handle clicks on the Home/Up button, so long  		// as you specify a parent activity in AndroidManifest.xml.  		int id = item.getItemId();  		if (id == R.id.action_settings) {  			return true;  		}  		return super.onOptionsItemSelected(item);  	}  }  

Download ví dụ

Ứng dụng này được phát triển bởi adt bundleandroid 4.2 sử dụng minimum sdk 11  and target sdk 21.


Kết quả khi click vào button Login:

Kết quả khi click vào button Logout:



Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCOxeYcvZPGf-mGLYSl_1LuA/videos
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com