[英]Function calling from custom OnClickListener
I've Main_Activity.class file. 我有Main_Activity.class文件。 There I am defining a custom function myFunction() . 我定义了一个自定义函数myFunction() 。 In this function I want to call an externally defined custom OnClickListener which will call the function recursively. 在此函数中,我想调用一个外部定义的自定义OnClickListener ,它将以递归方式调用该函数。
In Main_Activity the button is defined as 在Main_Activity中 ,按钮定义为
private Button button;
.
.
button = (Button)findViewById(R.id.button);
.
.
My myFunction() is defined inside Main_Activity.class . 我的myFunction()在Main_Activity.class内部定义 。 And inside this function the OnClickListener for button is defined. 在此函数中, 定义了按钮的OnClickListener 。 From this OnClickListener , I can easily call the myFunction() . 通过此OnClickListener ,我可以轻松调用myFunction() 。
private void myFunction(){
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
myFunction();
}
});
}
But I want to define a custom MyClickListenerClass for button and call the myFunction() from that external class. 但是我想为按钮定义一个自定义MyClickListenerClass并从该外部类调用myFunction()。
How can it be possible?? 怎么可能呢?
try this, 尝试这个,
Activity: 活动:
public class Main_Activity extends Activity
{
Button button;
MainActivity act;
MyClickListener listener;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button1);
listener = new MyClickListener(this);
myFunction();
}
public void myFunction()
{
button.setOnClickListener(listener);
Log.i("Fun clicked from", "sdfnd");
}
}
and class: 和课程:
public class MyClickListener implements OnClickListener
{
MainActivity act;
public MyClickListener(MainActivity act) {
this.act=act;
}
@Override
public void onClick(View v)
{
act.myFunction();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.