【发布时间】:2015-10-06 12:15:15
【问题描述】:
我有我的片段,我在 xml 文件中添加了两个滑块:
public class FilterSlider extends Fragment implements FragmentLifecycle {
private static final String TAG = FilterSlider.class.getSimpleName();
RelativeLayout relativeLayout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.filter_slider, container, false);
return view;
}
xml 文件看起来:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<SeekBar
android:id="@+id/seekBarMin"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:max="100"/>
<SeekBar
android:id="@+id/seekBarMax"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="50dp"
android:max="100"/>
</RelativeLayout>
现在,当我尝试使用以下代码从主活动访问任何滑块时:
这是我的主要活动课程:
setContentView(R.layout.activity_main);
pageAdapter = new MyPagerAdapter(getSupportFragmentManager());
final ViewPager pager = (ViewPager)findViewById(R.id.myViewPager);
pager.setAdapter(pageAdapter);
seekbarMin = (SeekBar) findViewById(R.id.seekBarMin);
seekbarMax = (SeekBar) findViewById(R.id.seekBarMax);
sliderMaxTemp = seekbarMax.getProgress();
这里是 MyPageAdapter 类:
private List<Fragment> fragments;
public MyPagerAdapter(FragmentManager fm) {
super(fm);
this.fragments = new ArrayList<Fragment>();
fragments.add(new FilterCheckBox());
fragments.add(new FilterRadioButton());
fragments.add(new FilterSlider());
}
它显示以下错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.SeekBar.getProgress()' on a null object reference.
我非常感谢任何解决错误的建议。
【问题讨论】:
-
片段是否在您尝试查找视图时附加到活动?你能看到搜索栏吗?
-
请添加相关类,尤其是计时器周围的部分,以及将片段附加到活动的位置/方式。
-
@ataulm:我在帖子中添加了更多相关类
-
怎么样 ((ProgressBar)seekbarMax).getProgress(); ?它会导致同样的错误吗?
-
抱歉,计时器呢?你说如果你没有计时器,你可以看到搜索栏,但你看不到它 - 听起来回答这个问题很重要。
标签: android android-fragments nullpointerexception fragment