2014-11-06 71 views
4

我有兩個活動MainActivityAddressActivity。在MainActivity我有三個editText視圖和一個TextView。在TextView上,我放了一個onclick,它啓動了另一個Activity AddressActivity。如何在切換到其他活動並返回時保存活動表單域

  • 在AddressActivity我從谷歌地圖得到的地址。
  • 從用戶獲得地址後,我在MainActivity

設置該地址到TextView的現在的問題是,當我回來從AddressActivity在MainActivity中的EditText領域越來越復位在MainActivity。相反,我想要的是用戶在Edittext中設置的任何內容都應該保留在那裏。

public class MainActivity extends Activity{ 
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
} 

public void openAddress(View view) { 
     startActivity(new Intent(this, AddressActivity.class)); 
    } 

} 

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="#20ffffff"> 
      <EditText 
       android:id="@+id/title" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:hint="Give a title" 
       /> 
      <EditText 
       android:id="@+id/description" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:hint="Give description" 
       /> 
      <TextView 
       android:id="@+id/issue_map_address" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:hint="Exact Address" 
       android:onClick="openAddress"/> 
       <Button 
        android:id="@+id/btn_submit" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center_horizontal|center_vertical" 
        android:onClick="onsubmit" 
       /> 
</LinearLayout> 

AddressActivity.java

public class AddressActivity extends Activity{ 
    // Async call 
    // IN this way i am sending the address string to the Main Activity 
    @Override 
     protected void onPostExecute(LatLng latLng) { 
      Intent i = new Intent(AddressActivity.this, MainActivity.class); 
      i.putExtra("address", userAddress.toString()); 
      startActivity(i); 
     } 
} 

的問題是從AdressActivity數據獲取設置成在MainActivity但所有的EditText也被重置。 我希望保持進入的EditText數據...如何去了解它...

+0

ur sta stang新的MainActivity或第一你保存價值的榮譽和使用它 – 2014-11-06 06:14:36

+0

你正在使用startactivity結果得到從地址活動結果或您正在從地址活動再次開始主要活動 – Meenal 2014-11-06 06:15:12

+0

@MeenalSharma從MainActivity on textView onclick我開始adressActivity,並從那裏我傳遞地址值mainActivity – anand 2014-11-06 06:16:39

回答

3

使用此代碼

public class MainActivity extends Activity{ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    } 

public void openAddress(View view) { 
    startActivityForResult(new Intent(this, AddressActivity.class),123); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 

    mTextView.setText(data.getStringExtra("address")); 

} 

} 

和地址活性

public class AddressActivity extends Activity{ 
    // Async call 
    // IN this way i am sending the address string to the Main Activity 
    @Override 
     protected void onPostExecute(LatLng latLng) { 
       Intent intent = getIntent(); 
       intent.putExtra("address",userAddress.toString()); 

       setResult(123,intent);    
       finish(); 

} 
+0

我無法將數據發送到MainActivity。在MapActivity中按鈕單擊的方式我正在進行異步調用,但不會進入MainActivity ...意圖是否正確,或者我需要傳遞一些參數,如活動類。 – anand 2014-11-06 06:37:28

+0

替換意圖intent = new Intent();意圖行代碼intent = getIntent();它會工作。 – Ali 2014-11-06 07:07:19

+0

我回到MainActivity,但onActivityResult()沒有打電話,我不知道爲什麼。 – anand 2014-11-06 07:12:39

1

onCreateMainActivity添加以下代碼:

Bundle data = getIntent().getExtras(); 
if(data != null) 
{ 
    address = data.getString("address"); 
    myEditText.setText(address); 
} 

問題是您發送了「地址「:i.putExtra("address", userAddress.toString());,但你不要拿它。上面的代碼是取「地址」值。

+0

不,我可以在我的MainActivity中設置地址字符串,但其他EditText字段變空... – anand 2014-11-06 06:18:30

+0

因爲您只發送一個字符串(「地址」)。另一個字符串在哪裏?並且請更新您的代碼,您的問題中的代碼顯示您在MainActivity中無意做任何事情 – 2014-11-06 06:20:12

相關問題