繁体   English   中英

如何在同一活动中使用两个不同的OnClickListener?

[英]how to use two different OnClickListener in same activity?

我需要导入以下两个不同的库

import android.content.DialogInterface.OnClickListener;
import android.view.View.OnClickListener;

因为我希望DialogInterface.OnClickListenerView.OnClickListener在同一活动中!

我该如何处理呢?

因为当我同时使用两个onClickListener出现错误!

一个类中可以有两个不同的onClickListener吗?!

仅导入android.content.DialogInterfaceandroid.view.View 然后,您可以通过使用父类限定它们来引用不同的OnClickListener类,如

DialogInterface.OnClickListener foo = ...;
// and
View.OnClickListener bar = ...;

在这种情况下,您很幸运,因为名称相同的两个类恰好是嵌套类。 如果不是,则唯一的区别是软件包名称,您必须使用其中至少一个的标准类名称:

android.content.DialogInterface.OnClickListener foo = ...;
OnClickListener bar = ...;

// or 
OnClickListener foo = ...;
android.view.View.OnClickListener bar = ...;

// or
android.content.DialogInterface.OnClickListener foo = ...;
android.view.View.OnClickListener bar = ...;

读和写都不有趣。

一种方式可能是

 public class MyClass implements DialogInterface.OnClickListener, View.OnClickListener {

 }

你可以导入一个呼叫下一个onClickListener如说Dialog.onClickListener

使您的类实现接口

  extends Activity implements View.OnClickListener,DialogInterface.OnClickListener

然后

@Override
public void onClick(DialogInterface dialog, int which) {
    // do something

}

@Override
public void onClick(View v) {
    // dosomething
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM