无法在活动之间找到值

时间:2012-06-24 08:19:58

标签: android

我的应用程序中有两个活动说EMPID和INFO。 在EMPID活动中,我有一个EditText说empid,另一个活动INFO我有另一个EditText名称。

我可以在每个活动中使用Button切换这些活动。

但是当我切换到第二个活动并回到第一个活动时,我希望显示empid的值。

任何人都可以帮助解决这些问题。

提前谢谢你。

3 个答案:

答案 0 :(得分:1)

更改代码,将数据从第一个活动发送到第二个活动:

@Override
    public void onClick(View v) {
     // TODO Auto-generated method stub
     /*Create new Intent Object, and specify class*/
    Intent intent = new Intent();  
    intent.setClass(EMPID.this,INFO.class);
    /*new Bundle Object, and put data in bundle object*/ 
     Bundle bundle = new Bundle();  
     bundle.putString("EMPID ","empid");   
    /*Put Bundle object i.e bundle in intent*/ 
    intent.putExtras(bundle);  
    EMPID.this.startActivity(intent);
@Override
public void onResume()
{
  //SET EDITVIEW VALUE HERE to EMPID
    super.onResume();
}

在活动信息中:

    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.receivermain);
    TextView txtvwreceived=(TextView)findViewById(R.id.txtviewsender);
    /* Intent To obtain the  bundle object from EMPID */
    Bundle bundle = this.getIntent().getExtras();  
    /* Obtain String from Intent  */
    if(bundle !=null)
    {
        /* Obtain Data from bundle object */ 
        String strdata = bundle.getString("EMPID");
        }
    }

和第二种方法使用startActivityForResult()启动第二个Activity(INFO.class)并覆盖第一个活动(EMPID.class)中的onActivityResult方法以设置EditView值。

答案 1 :(得分:0)

拨打第二个活动时使用startActivityForResult()。这将保持第一个活动处于其先前状态,并且当您切换回第一个活动时,可以保留empid

如果您想将empid的值发送到第二个活动,可以使用intent.putExtra()

答案 2 :(得分:0)

您需要putExtrasgetIntExtras

以下代码段将为您提供帮助。

<强> EMPID.java

Intent intent=new Intent(this,INFO.class);
intent.putExtra("id", empid);
startActivity(intent);

<强> INFO.java

int empId=getIntent().getIntExtra("id", 0);