来自viewpager的findViewById

时间:2013-10-17 11:39:55

标签: android

您好我试图使用viewpager。

我的问题是我从滑动视图中找不到视图,我得到NPE。

这是我查看视图的代码:

@Override
public void onPageSelected(int arg0) {
    // TODO Auto-generated method stub

    focusedView = mPager.getChildAt(arg0);

    button = (ImageButton) focusedView.findViewById(R.id.button);
    button.setOnClickListener(this);
}

我在这行上获得了NPE:

button.setOnClickListener(this);

我的所有视图滑动视图都有一个带有“按钮”ID的按钮。

我也试过这个:

@Override
public void onPageSelected(int arg0) {
    // TODO Auto-generated method stub

    button = (ImageButton) mPager.findViewById(R.id.button);
    button.setOnClickListener(this);
}

我也来到了NPE。

如何从pageviewer中的视图中查找视图?

2 个答案:

答案 0 :(得分:1)

处理片段内的点击事件,您可以在方法public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)中执行此操作。

答案 1 :(得分:0)

您可能在活动或片段中包含此代码。

为活动或片段上的按钮声明final变量,在onCreateonResume中获取对它的引用,然后您就可以在{{1}中使用它}。

示例(未完成)代码:

onPageSelected