我只有使用Android 4.1.2崩溃,在setVisibility
一个NullPointerException一些设备的应用程序:的Android 4.1.2 findViewById返回null
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.detail, menu);
if (mDocumento.getPathPdfDevice()==null) {
getActivity().findViewById(R.id.btnBigDownloading).setVisibility(View.GONE);
}
}
但在所有其他设备工作正常。
只有一个布局加载这样的:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
View rootView = inflater.inflate(R.layout.fragment_detail, container, false);
return rootView;
}
的布局:
<LinearLayout
android:id="@+id/btnBigDownloading"
android:visibility="gone"
android:orientation="vertical"
android:layout_gravity="center"
android:layout_width="0dp"
android:padding="10dp"
android:layout_height="match_parent"
android:layout_weight=".30" >
<ProgressBar
android:id="@+id/btnBigDownloadingProgress"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:indeterminate="true"
/>
</LinearLayout>
那么,什么是空指针?如果存在NullPointerException,则表示该行中的某个值未声明或等于null。你确定当这段代码执行时,'btnBigDownloading'实际上存在吗? –
我已添加布局。 ,但正如我所说的相同的代码工作正常(没有nullpointer)在其他版本(从2.3.3到4.4).. getActivity()。findViewById(R.id.btnBigDownloading)返回对象 –