我在android中創建我的第一個應用程序,我使用抽屜佈局和獲取當前位置的服務,並將數據發送到Broadacast接收器,這應該是更新儀表板片段中的緯度和經度textview ,但是當updateDashLocation被調用時,我收到這個錯誤:由於:java.lang.NullPointerException:嘗試在DashLatitude的空對象引用上調用虛擬方法'void android.widget.TextView.setText(java.lang.CharSequence)'。的setText(緯度);和DashLongitude.setText(經度);在片段中更改文本視圖文本
片段代碼
public class DashboardFragment extends Fragment {
public DashboardFragment() {
// Required empty public constructor
}
View dashboardInflatedView;
TextView DashLatitude,DashLongitude;
String TAG = "GPSTracker";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Toolbar toolbar = ((MainActivity)getActivity()).toolbar;
toolbar.setTitle("Dashboard");
dashboardInflatedView = inflater.inflate(R.layout.fragment_dashboard, container, false);
DashLatitude = (TextView)dashboardInflatedView.findViewById(R.id.DashLatitude);
DashLongitude = (TextView)dashboardInflatedView.findViewById(R.id.DashLongitude);
return dashboardInflatedView;
}
public void updateDashLocation(String latitude, String longitude){
//Log.d(TAG, "Update Dashboard Location");
DashLatitude.setText(latitude);
DashLongitude.setText(longitude);
}
}
如何我可以訪問儀表盤碎片的元素時updateDashLocation叫?
看起來像在創建片段視圖之前調用updateDashLocation – diedu
您確定您的視圖有合適的ID嗎? – LukeWaggoner
id是正確的! updateDashLocation在創建片段後調用。刪除現金後我重複測試,我收到導致:java.lang.NullPointerException:嘗試調用虛擬方法'android.view.View android.view.View.findViewById(int)'對空引用對象,如果我把DashLatitude .setText( 「測試」);在片段的onCreateView期間,文本正確更新...以某種方式,我無法在充氣器後訪問相同片段中的片段視圖!任何人都可以幫助我? – Cristian