zoukankan      html  css  js  c++  java
  • android学习笔记(3)Button控件的学习


    一,增加一个button并用外部类绑定事件

    //XML文件:    
    <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="扣子1" />
    //主类:
    public class MainActivity extends Activity {
         
    	private Button btn1 = null;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            btn1 = (Button)findViewById(R.id.button1);         
    	btn1.setOnClickListener(new buttonclick());   //方法一,定义外部类来绑定事件
    
     class buttonclick implements OnClickListener {
    		public void onClick(View arg0) { 
    			System.out.printline("点击了button1"); 		
    			}	
        } 
    二,用内部类绑定事件
    <span style="color: rgb(51, 51, 51);">btn1.setOnClickListener(new OnClickListener() {  //方法二,定义</span><span style="color:#ff0000;"><strong>内部类</strong></span><span style="color: rgb(51, 51, 51);">来绑定事件
    			
    		@Override
    		public void onClick(View arg0) {
    		//用Toast来显示提示
    		</span><span style="color:#ff0000;"><strong>//注意:Toast.makeText(Context context, CharSequence text, int duration)</strong></span><span style="color: rgb(51, 51, 51);">
    		</span><span style="color:#ff0000;"><strong>//context要指向主类自己,这个要弄明确!!!!,text设置文本,duration设置时间</strong></span><span style="color:#333333;">
    		Toast.makeText(getApplicationContext(), "click!", Toast.LENGTH_LONG).show();
    				
    		}
    });</span>
    三,有多个button,将内部类设置成变量使代码更友好
    xml文件就不多说了,
    <span style="color:#333333;">private Button btn1 = null;
    	private Button btn2 = null;        
            btn1 = (Button)findViewById(R.id.button1);         
            btn2 = (Button)findViewById(R.id.button2);
            btn1.setOnClickListener(listener);     //有多个button
            btn2.setOnClickListener(listener); 
    
    
    private OnClickListener listener =new OnClickListener() {  //定义一个变量来装这个内部类
    	
    	@Override
    	public void onClick(View v) {
    		</span><span style="color:#ff0000;"><strong>//注意View是什么,然后以下为什么要强制转换成button!!</strong></span><span style="color:#333333;">
    		Button btn = (Button)v;
    		switch (btn.getId()) {
    		case R.id.button1:
    			Toast.makeText(getApplicationContext(), "click1!", Toast.LENGTH_LONG).show();
    			break;
    
    
    		case R.id.button2:
    			Toast.makeText(getApplicationContext(), "click2!", Toast.LENGTH_LONG).show();
    			break;
    		}
    	
    		
    	}
    };</span>


  • 相关阅读:
    HDU 4031 Attack(离线+线段树)(The 36th ACM/ICPC Asia Regional Chengdu Site —— Online Contest)
    BZOJ 1010 玩具装箱toy(四边形不等式优化DP)(HNOI 2008)
    分布式事务二阶提交DTS系统
    flume原理及代码实现
    Liferay JSP Tag Libraries介绍
    如何用maven tycho构建自己的Eclipse RCP应用
    如何合并两个git commit
    推荐一个好用的git图形化工具
    git gc干了啥
    如何把VS Code的Language Server Protocol整合到Eclipse中来
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6813134.html
Copyright © 2011-2022 走看看