public Fragment1 Heart_frag;
public Fragment2 Accel_frag;
public Fragment3 Baro_frag;
public Fragment4 Status_frag;
@Override
protected void onCreate(Bundle dfuse) {
super.onCreate(dfuse);
setContentView(R.layout.activity_main);
Heart_frag = new Fragment1();
Accel_frag = new Fragment2();
Baro_frag = new Fragment3();
Status_frag = new Fragment4();
mViewPager = (ViewPager) findViewById(R.id.pager);
final FragmentAdapter adapter = new FragmentAdapter(
getFragmentManager());
adapter.addFragment(Heart_frag);
adapter.addFragment(Accel_frag);
adapter.addFragment(Baro_frag);
adapter.addFragment(Status_frag);
mViewPager.setAdapter(adapter);
mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
/* switch(position) {
case 0:
//Heart_frag.test("test");
break;
case 1:
Accel_frag.test(Acc_Lx[j]);
break;
case 2:
//Baro_frag.test("test");
break;
default:
break;
} */
}
@Override
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
mGestureDetector = new GestureDetector(this, new LongPressListener());
// 센서 메인 시작
중략 !!!!
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_HEART_RATE) {
Heart_frag.HP_setText((int)values[0]);
}
if(event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
Gyro_frag. gyro_setText (values[0],value[1],value[2]);
}
if(event.sensor.getType() == Sensor.TYPE_GRAVITY) {
Accel_frag.Acc_setText(Acc_Lx[j], Acc_Ly[j], Acc_Lz[j]);
}
fragment1
public void Acc_setText(float X, float Y, float Z) {
((TextView)(this.getActivity().findViewById(R.id.title2_1))).setText("" + Math.round(X));
}
기본적으로 하려는 메인엑티티의 센서이벤트에서 값을 읽을때마다 해당되는 각프라그먼트의 텍스트 필드에 값을 리프레쉬 해주는 것입니다.
우선 작동은 됩니다 단1~2 프래그먼트까지만 3번째 프라그먼트에서 셋텍스트 함수를 날릴때 무조건 에러가 납니다 왜나는지 정말 모르겠습니다, 순서를 바꿔도 3번째 프래그먼트에서 에러가 떡하니 나니 왜 그러는지 모르겠습니다.
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
이런 메시지가 뜨구요 세번째 프라그먼트 또한 1번이나 2번이나 똑같이 복붙해서 아이디만 바꿔기에 안되는게 이해가 가지 않습니다 부탁드립니다.