我的應用程序中有兩個活動,分別是EMPID和INFO。 在EMPID活動中,我有一個EditText說empid和另一個活動信息我有另一個EditText名稱。無法找到活動之間的值
我可以在每個活動中使用按鈕在這些活動之間切換。
但我希望當我切換到第二個活動並返回到第一個活動時顯示empid的值。
任何人都可以幫助這些。
謝謝您提前。
我的應用程序中有兩個活動,分別是EMPID和INFO。 在EMPID活動中,我有一個EditText說empid和另一個活動信息我有另一個EditText名稱。無法找到活動之間的值
我可以在每個活動中使用按鈕在這些活動之間切換。
但我希望當我切換到第二個活動並返回到第一個活動時顯示empid的值。
任何人都可以幫助這些。
謝謝您提前。
當您撥打第二個活動時使用startActivityForResult()
。這會將第一個活動保持在之前的狀態,您可以在切換回第一個活動時維持empid
。
如果要將empid的值發送到第二個活動,您可以使用intent.putExtra()
。
您需要putExtras
和getIntExtras
下面片斷會幫助你。
EMPID.java
Intent intent=new Intent(this,INFO.class);
intent.putExtra("id", empid);
startActivity(intent);
INFO.java
int empId=getIntent().getIntExtra("id", 0);
更改代碼作爲用於從第一個活動發送數據到第二:
@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()
啓動第二活性(INFO.class)和覆蓋第一活性(EMPID.class)onActivityResult
方法用於設置EditView中值。