我想添加一個動態的谷歌地圖到一個片段,這個片段包含一個簡單的表單,它工作正常,當我添加谷歌地圖部分時出現錯誤。動態谷歌地圖觸發空對象引用錯誤
無法啓動活動ComponentInfo {com.jdplee.proyecto/com.jdplee.proyecto.ClientDetailActivity}:顯示java.lang.NullPointerException:嘗試調用虛擬方法「com.jdplee.proyecto.ClientDetailFragment com.jdplee。 proyecto.ClientDetailFragment.newInstance()」上的空對象引用
我有的是一mainActivity
與打開的詳細視圖的按鈕,這是使用一個第二活動完成:
public class ClientDetailActivity extends AppCompatActivity {
public static final int REQUEST_ADD_TASK = 1;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.client_detail);
ClientDetailFragment mClientDetailFragment = (ClientDetailFragment)
getSupportFragmentManager().findFragmentById(R.id.cd_fragment_container);
if (mClientDetailFragment == null) {
mClientDetailFragment = ClientDetailFragment.newInstance();
utilities.addFragmentToActivity(getSupportFragmentManager(), mClientDetailFragment, R.id.cd_fragment_container);
}
}
}
的client_la YOUT只有一個的FrameLayout其中片段將被放,片段類是:
public class ClientDetailFragment extends Fragment {
private static final int PERMISSION_REQUEST_CODE = 1;
private FusedLocationProviderClient mFusedLocationProviderClient;
public static ClientDetailFragment newInstance() {
return new ClientDetailFragment();
}
public ClientDetailFragment(){
//required empty constructor
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.client_detail_fragment, container, false);
if (getChildFragmentManager().findFragmentById(R.id.cd_maplocation) == null) {
SupportMapFragment mapFragment = new SupportMapFragment();
getChildFragmentManager()
.beginTransaction()
.replace(R.id.cd_maplocation, mapFragment)
.commit();
}
return root;
}
這個片段有自己的佈局,內部有對谷歌地圖的FrameLayout:
<FrameLayout
android:id="@+id/cd_maplocation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
那就是爲什麼我使用getChildFragment()
,對我來說這一切都有道理,我不明白爲什麼錯誤,我錯過了什麼?
這件事情,請提供logcat的。 –
我做了,錯誤報價從logcat –