Android:seekbar.setProgress()给出了Nullpointer异常

时间:2016-05-10 10:41:00

标签: java android android-fragments fragment seekbar

我曾多次使用seekbar,但从未遇到过问题。昨天我正在处理我不太熟悉但成功实施的碎片。但是在一天结束的时候,我将seekbar包含在片段中并开始出现问题。不确定这是碎片还是什么。这是我的代码。

fragment_main.xml

<LinearLayout>
<SeekBar
    android:id="@+id/seek"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="100"/>
</LinearLayout>

FragmentMain.java

public class FragmentMain extends Fragment {

final static String TAG = "FragmentMain";
TextView mainTextView;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_main, container, false);

    SeekBar seekBar = (SeekBar) getActivity().findViewById(R.id.seek);
    seekBar.setProgress(40);

    return view;
}
}

这个FragmenMain是我的viewPager的中心页面。

我不知道为什么我的代码崩溃了NullPointerException setProgress

随时建议编辑。

2 个答案:

答案 0 :(得分:1)

更改

SeekBar seekBar = (SeekBar) getActivity().findViewById(R.id.seek);

SeekBar seekBar = (SeekBar) view.findViewById(R.id.seek);

答案 1 :(得分:1)

问题出在这里

roles & behaviours

您需要使用父视图查找视图,而不是使用上下文进行充气,请将其替换为

SeekBar seekBar = (SeekBar) getActivity().findViewById(R.id.seek);

希望有所帮助