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

Android: seekbar.setProgress() gives Nullpointer exception

我已经使用 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的中心页面。

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

随时提出修改建议。

改变

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

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

问题就在这里

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

你需要找到你的父视图没有上下文的视图,用

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

希望对您有所帮助