Android 成员变量在";活动“;班

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

为什么成员变量“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 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的值。我对您提供的代码没有问题。