Android Button 单击事件

xiaoxiao2021-02-28  7

方法一:在XML文件中指定 单击事件函数

<Button            android:id="@+id/button1"            android:layout_width="120dip"            android:layout_height="wrap_content"            android:layout_alignParentLeft="true"            android:layout_below="@+id/textView1"            android:layout_marginTop="59dp"            android:onClick="onclicklistener"            android:text="@string/mybuttonstr" />

然后在代码中实现这个函数。注意,函数需要public 要不会异常。

 public void onclicklistener(View tager)    {          TextView textView1 =(TextView)findViewById(R.id.textView1);    textView1.setText("西安.王磊");    }

 

方法二:

在activity 的onCreate 中 找到button,然后给它赋上事件监听器。这个方式非常普遍。

 public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Button but=(Button)this.findViewById(id.button1);                        but.setOnClickListener(new OnClickListener() {                        public void onClick(View v) {                // TODO Auto-generated method stub                Log.v("MyTag", "onClick");            }        });    }

 

方法三:

这个方法其实是方法二的变种。就是提前定义一个OnClickListener 的handler,然后可以将这个activity中所有的button多使用这个handler,通过判断不同id来进行不同的逻辑。这个方式适合比较多的button的情况使用。

public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                View.OnClickListener handler=new OnClickListener(){            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                switch (v.getId()){                case id.button1:                    Log.v("MyTag", "Button1 OnClick");                    break;                case id.button2:                    Log.v("MyTag", "Button2 OnClick");                    break;                }                            }                    };                Button btn1=(Button)this.findViewById(id.button1);        Button btn2=(Button)this.findViewById(id.button2);                btn1.setOnClickListener(handler);        btn2.setOnClickListener(handler);

}

转载请注明原文地址: https://www.6miu.com/read-2350330.html

最新回复(0)