"m_lat"및 "m_lng"멤버 변수가 "onCreate"및 "onClick"호출간에 사이에 지속되지 않지만 getIntent()에서 반환 된 Intent 이 ?"Activity"클래스의 멤버 변수 지속성
는
코드는 다음 (나는 .xml 파일이 관련이없는 생각) :
public class MyActivity extends Activity implements OnClickListener {
int m_lat, m_lng;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent i = getIntent();
m_lat = i.getIntExtra("LAT", -1);
m_lng = i.getIntExtra("LNG", -2);
// here, m_lat m_lng have good values
}
@Override
public void onClick(View v) {
Intent oldInt = getIntent();
int new_lat = oldInt.getIntExtra("LAT", 0);
int new_lng = oldInt.getIntExtra("LNG", 0);
// here, m_lat and m_lng are 0, but
// new_lat and new_lng are now valid
}
}
TKS를!
나는 당신이 내 지점을 놓친 것 같아요. "onCreate"메서드에서이 클래스는 두 개의 멤버 변수 (m_lat, m_lng)를 설정합니다. 그러나 "onClick"메서드에서 m_lat 및 m_lng 값은 손실됩니다. 나는 m_lat == new_lat과 m_lng == new_lng를 기대하지만, 사실이 아니다. 멤버 변수가 호출간에 지속되지 않는 이유를 알고 싶습니다. – uncle4
코드를 다시 확인하거나 프로젝트를 다시 빌드하십시오. 코드의 어떤 지점에서 m_lat 및 m_lng 값을 변경할 수 있습니다. 나는 당신이 준 코드에 아무런 문제가 없다. – PhatHV