android里面怎么为viewpager的子页面的button设置监听事件

android里面怎么为viewpager的子页面的button设置监听事件,第1张

您可以类似这样,先实例化子页面中的Button控件,然后将实例化后的控件绑定监听事件
View view=LayoutInflaterfrom(context)inflate(Rlayoutabc_action_bar_view_list_nav_layout,null);
Button button= (Button) viewfindViewById(Ridaction_bar);
buttonsetOnClickListener(new ViewOnClickListener() {
@Override
public void onClick(View view) {
//写上点击后要执行的事件
}
});
当然了,您要在不同页面实现不同的功能的话,您可以将以上代码写在viewPagersetOnPageChangeListener的滚动回调方法当中进行页面滚动的判断,从而执行不同的点击事件。希望能帮到您,如果还有什么问题,欢迎您继续追问。谢谢。

JFrame好像没专门的监听器吧~~
可以定义一个全局变量boolean state=false;
为button加一个监听器,当按下button的时候,在actionPerform方法里面改变:state=true;
在第一个jframe判断if(state==true){作出你想要的反应啊神马的}也可以做到你想要的效果

把这两句submitButtonaddActionListener(null);
resetButtonaddActionListener(null);
改成
submitButtonaddActionListener(this);
resetButtonaddActionListener(this);
看行不行。

写在面板的构造器里面

testaddActionListener(new ActionListener() { //匿名内部类

        @Override

        public void actionPerformed(ActionEvent e) {

//do something/

      }

    });

2类 实现ActionListener接口

EX:

 public class PlayUI extends JFrame implements ActionListener

重写

@Override

public void actionPerformed(ActionEvent e) {

        Button but=(Button) egetSource();

if(but==test){

//do something/

        }

}

3写一个类实现ActionListener

EX:

public class ActionListenerTest implements ActionListener{

@Override

public void actionPerformed(ActionEvent e) {

Systemoutprint("nima");

}

}

在面板的构造器里面

添加  testaddActionListener(new ActionListenerTest(){});

1、2、3  可以互相参照。

我知道你出现什么问题了,你是不是写了一个类继承了Dialog,然后再实例化,这个dialog,但是button按钮美发添加监听器是不?
如果你要是自己继承了DIalog的话,那么我们看看源码把!
Dialog
implements DialogInterface
也就是说Dialog继承了 DialogInterface这个接口
好的 我们再看看DialogInterface这个接口把
我们会发现DialogInterface 有一个方法:
public static interface OnClickListener
{
public abstract void onClick(DialogInterface dialoginterface, int i);
}
好的 那么也就是如果我们继承了Dialog的话,我们同样也继承了DialogInterface这个接口的ONclickListner方法所以我们再给button设置onclicklistner的时候就会出错,因为本身就是不同包的东西,现在放到一个类里面肯定就会出错!
解决方法:在给button 设置点击事件的时候,加上完整的包名就行了!
专门给你敲了个例子你看看:
Activity里面:
public class QuestionActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutmain);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Dialog ad = new MyDialog(this);
adshow();
return superonKeyDown(keyCode, event);
}
}
自定义Dialog里面:
public class MyDialog extends Dialog {
Context context;
public MyDialog(Context context) {
super(context);
thiscontext = context;
init();
}
public void init() {
LinearLayout ll = new LinearLayout(context);
llsetLayoutParams(new LayoutParams(LayoutParamsFILL_PARENT,
LayoutParamsWRAP_CONTENT));
Button btn = new Button(context);
btnsetText("hello");
//
btnsetOnClickListener(new androidviewViewOnClickListener() {
@Override
public void onClick(View view) {
ToastmakeText(context, "hello", 0)show();
MyDialogthisdismiss();
}
});
//
lladdView(btn);
thissetContentView(ll);
}
}
注意行里面


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13346272.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-19
下一篇 2023-07-19

发表评论

登录后才能评论

评论列表(0条)

保存