“Activity”类中成员变量的持久性

时间:2012-03-08 01:30:22

标签: android persistence android-activity

为什么成员变量“m_lat”和“m_lng”不存在 在“onCreate”和“onClick”之间调用,但是Intent 从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

    }

}   

韩国社交协会!

1 个答案:

答案 0 :(得分:1)

请检查Android开发者文档。

  

public int getIntExtra(String name,int defaultValue)

     

自:API级别1从意图中检索扩展数据。

     

参数

     

name:所需项目的名称。

     

defaultValue:要的值   如果在给定的情况下没有存储所需类型的值,则返回   名。

     

返回

     

以前使用putExtra()或者添加的项目的值   默认值,如果没有找到。

http://developer.android.com/reference/android/content/Intent.html#getIntExtra(java.lang.String, int)