在java中,以这种方式创建按钮后:
Button button1= new Button();
我可以通过这种方式识别按钮的引用
public void actionPerformed(ActionEvent bottonName){
Button name_of_the_button= (Button)bottonName.getSource();
//Inside 'name_of_the_button' I have 'button1'
}
我如何在Android上做同样的事情?我试过这种方式
public void onClick(View bottonName) {
Button name_of_the_button= (Button )bottonName.getSource();
}
但是在android上没有方法getSource()。
答案 0 :(得分:2)
Button name_of_the_button = (Button)findViewById(R.id.my_btn);
然后
name_of_the_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.my_btn) {
// button action here
}
}
});
答案 1 :(得分:1)
您可以查看以下内容:
Button button1= new Button();
button1.setOnClickListener(this);
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
if (view.getId() == button1.getId())
{
//Perform something
}
}
因此两个id将匹配(单击按钮的id和您通过Java代码创建的id)
答案 2 :(得分:0)
Button but1 = (Button)findViewById(R.id.button1); within the onCreate of your layout
后跟听众
but1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.but1) {
// your code here
}
}
});
答案 3 :(得分:0)
首先,Android != Corejava
。为了使您的方法有效,您需要在xml中为按钮定义onClick by android:onClick = "buttonClick"
。
然后你的onClick方法将是
public void onClick(View view)
{
Button button = (Button)view; // here is the reference.
}
答案 4 :(得分:0)
创建一个按钮,然后将其作为孩子添加到main layout
,然后在该按钮上设置click listener
Button buyButton = new Button(this);
buyButton.setText(R.string.button_back);
buyButton.setLayoutParams(new LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
layout.addView(buyButton);
buyButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Do What you want on click
}});
答案 5 :(得分:0)
在android中,View占据屏幕上的矩形区域,负责绘图和事件处理。 View是窗口小部件的基类,用于创建交互式UI组件(按钮,文本字段等) 因此,要拨打按钮,您必须先声明按钮
Button nameButton = (Button)findViewById(R.id.buttononyourXML);
OR 你可以使用
以编程方式创建它ViewGroup linearLayout = (ViewGroup) findViewById(R.id.yourLinear);
Button btn = new Button(this);
btn.setText("A Button");
btn.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
linerLayout.addView(btn);
然后根据您所需的方法添加一个监听器
你的选择..
干杯