android - Which is the best way to add a button? -
i'm new android development. i've doubt. know can add button , initialize like
button b1=(button) findviewbyid(r.id.button1);
and can give unction name in xml file.
android:onclick="click_event"
my doubt is, best , efficient way? says better use @string resource instead of hard-coded one.
i think confused. examples give 2 different things.
adding button
this line
button b1=(button) findviewbyid(r.id.button1);
doesn't add button
. declares , initializes instance of button
refers button
in inflated xml has id
of button1
so in xml have somewhere
<button android:id="@+id/button1" <!-- other properties --> />
you can add button
programmatically
button bt1 = new button(this); // give properties
but easier in xml because here have programmatically give parameters, properties, , add inflated layout
onclick
as far onclick()
depends on feel easiest , best in situation. declare in xml can several ways. using method have sure have function public
, takes 1 parameter , parameter must view
public void clickevent(view v) { // code here }
i changed name xml like
<button android:id="@+id/button1" <!-- other properties --> android:onclick="clickevent"/>
you can set onclick()
in java like
button b1=(button) findviewbyid(r.id.button1); b1.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // code here } });
or
button b1=(button) findviewbyid(r.id.button1); b1.setonclicklistener(this); @override public void onclick(view v) { // code here }
note last way need add implements onclicklistener
in activity
declaration
public class myactivity extends activity implements onclicklistener {
you can create own click listener
changing like
b1.setonclicklistener(mybtnclick);
then create instance of like
public onclicklistener mybtnclick = new onclicklistener() { @override public void onclick(view v) { // click code here } };
you can use multiple button
s , switch on id
or check view
param know button
clicked or create separate listeners
different button
s.
Comments
Post a Comment