2014-11-03 45 views
1



在這段代碼中,我想發送名字和中間名到另一個活動。但我的問題是,沒有點擊任何按鈕,我想發送這兩個值到下一個活動。

因爲在這個活動中,點擊發送按鈕,數據應該被傳遞給下一個活動,但是屏幕不應該導航到下一個活動。

現在我想在另一個類文件中訪問這兩個值。沒有移動下一個活動從Android的另一個活動發送數據

任何人都可以幫助我。

Send.setOnClickListener(new OnClickListener() {    
      public void onClick(View v) 
      { 
       String first_name = fname1.getText().toString(); 
       String middle_name = mname1.getText().toString(); 
} 
     }); 
+0

您可以爲所有的常量或臨時數據創建一個類和分配UR用戶名和密碼值以便您可以從其他課程訪問這些憑據:D – 2014-11-03 12:44:11

+0

您能否請我提供一些 – user 2014-11-03 12:45:58

回答

1

您可以SQLiteShared Preferences實現這一目標或只是簡單地通過創建一個新的公共類static變量。 創建一個新類:

public class Global { 
    public static String first_name = ""; 
    public static String middle_name = ""; 
} 

更改代碼:

Send.setOnClickListener(new OnClickListener() {    
      public void onClick(View v) 
      { 
       Global.first_name = fname1.getText().toString(); 
       Global.middle_name = mname1.getText().toString(); 
} 
     }); 
+0

嗨,應該inilize Global.class中的所有值爲空 – user 2014-11-03 12:53:49

+0

@用戶是,爲了安全起見。我更新了我的代碼。 – 2014-11-03 12:56:06

+0

全局類的名字最後它無法從其他類訪問 – user 2014-11-03 13:06:02

1

您可以爲所有的常量或臨時數據創建一個類和分配UR的用戶名和密碼值到,這樣就可以從其他類訪問這些憑據

public class Constants 
{ 

    public static String F_Name = "fName"; 

    public static String M_Name = "mName"; 
} 

然後賦值爲

String FName = fname.getText().toString(); 
String MName = mname.getText().toString(); 
    Constants.F_Name = FName; 
    Constants.M_Name = MName; 

然後拿到其他類的價值觀像

if (FirstName.equals(Constants.F_Name){ 
} 

這些值將被設置直到你的應用程序正在運行

+0

的示例,假設該值是動態的? – user 2014-11-03 12:49:15

+0

看到什麼時候你會得到類似於你的情況的值,用字符串first_name = fname1.getText()。toString();將這些值分配給COnstant.FName = fname1;然後你可以從你的類的任何一個Constants.FName – 2014-11-03 12:51:07

+0

@user你可以使用sharedPrefs這個,但它將被保存,即使你退出應用程序,直到你用另一個替換這些值,你可以初始化具有任意隨機字符串或簡單字符串F_Name的全局值; – 2014-11-03 12:56:33

1

使用SharedPreferences存儲鍵和值對。即使應用程序不在前臺,您也可以在整個應用程序中使用。你可以檢查這個example。希望它有助於解決您的問題。

1

第一種選擇:

Intent i=new Intent(context,SOMECLASSNAME.class); 
i.putExtra("first_name", fname1.getText().toString()); 
i.putExtra("name", mname1.getText().toString()); 
context.startActivity(i); 

第二個選項: 您可以使用共享偏好http://developer.android.com/training/basics/data-storage/shared-preferences.html

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
editor.putString("first_name", fname1.getText().toString()); 
editor.putString("second_name", mname1.getText().toString()); 
editor.commit(); 
+0

如果我使用intent意味着它將移動到下一個活動 – user 2014-11-03 13:02:05

相關問題