我在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