已经使用ViewPager实现了滑动的效果,但是发现想在每个子页中增加功能,子页中的按钮事件不能被监听到 5

如下图所示,是现在用viewpager实现的效果,可以左右滑动切换页面。现在想在第一分页中实现一个计算器的效果,问题出在重新建立的Calculator.java文件没有被... 如下图所示,是现在用viewpager实现的效果,可以左右滑动切换页面。

现在想在第一分页中实现一个计算器的效果,问题出在重新建立的Calculator.java文件没有被调用到,其下的监听事件也没有用,按这些数字按钮没有任何的反应,这个布局之所以显示出来是因为在实现viewpager功能的NewoneActivity.java文件中

view1 = inflater.inflate(R.layout.lay1,null); 这句话只将布局找出来,但没有实现到对第一分页的监听。
下面附上所有代码,xml文件的就不附上了,主要就是实现viewpager功能的这个java代码,希望有人能帮忙解答出来,网上有查到很多说在instantiateItem中添加监听事件,代码都写在里面,不想这样,想另开一个java文件里写,所以不知道在实现viewpager功能的这个java文件中做何修改。希望把修改的代码写的详细些,本人还是个android初学者,谢谢

以下是实现viewpager功能的这个java代码:NewoneActivity.java
展开
 我来答
双四别阴我
2014-06-11 · TA获得超过2282个赞
知道大有可为答主
回答量:1250
采纳率:57%
帮助的人:1187万
展开全部

这个呢,我通常是写一个对应的ViewHolder类来处理。

比如你可以建一个CalculatorViewHolder.java来处理任何跟这个页面相关的事件和初始化等操作。在CalculatorViewHolder这个类中,写一个构造方法,把必须要传入的参数填上,比如Context之类的。然后必须要有一个getView方法,返回一个View,供viewpager加入到List<View>里。

像这样:

    public View getView()
{
setView();
findViewsById();
initViews();
addListeners();

return view;
}

在你的NewoneActivity中,先定义一个CalculatorViewHolder对象,new的时候传入对应的参数,需要得到此view的时候就写holder.getView()。当然,如果要在NewoneActivity中对此界面做一些操作,可以在CalculatorViewHolder中写几个public的方法,然后这样调用就好了

holder.mothed();


这样单独一个类的好处是降低偶合,而且代码条理更清晰。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式