Android 成员变量在";活动“;班
为什么成员变量“m_lat”和“m_lng”不存在 在“onCreate”和“onClick”调用之间,但是 从getIntent()返回的是什么 (我认为.xml文件无关紧要) 代码如下:Android 成员变量在";活动“;班,android,persistence,android-activity,Android,Persistence,Android Activity,为什么成员变量“m_lat”和“m_lng”不存在 在“onCreate”和“onClick”调用之间,但是 从getIntent()返回的是什么 (我认为.xml文件无关紧要) 代码如下: public class MyActivity extends Activity implements OnClickListener { int m_lat, m_lng; @Override protected void onCreate(Bundle saved
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 请查看Android开发者文档 public int getIntExtra(字符串名,int defaultValue) 因为:API级别1从intent检索扩展数据 参数 名称:所需项目的名称 defaultValue:要设置的值 如果给定值未存储所需类型的值,则返回 名字 返回 以前使用putExtra()或 如果未找到,则为默认值
我想你没有领会我的意思。在“onCreate”方法中,该类设置两个成员变量(m_lat,m_lng)。但在“onClick”方法中,m_lat和m_lng的值丢失。我希望m_lat==new_lat和m_lng==new_lng,但事实并非如此。我想知道为什么成员变量在调用之间不存在。请再次检查代码或重建项目。请您在代码中的某个点更改m_lat和m_lng的值。我对您提供的代码没有问题。