没有移动下一个活动从android中的另一个活动发送数据

时间:2014-11-03 12:42:07

标签: android android-activity message-passing


在这段代码中,我想将firstname和middlename发送给另一个活动。但我的问题是没有点击任何按钮我想将这两个值发送到下一个活动。

因为在此活动中,点击发送按钮,数据应该传递给下一个活动,但是屏幕不应导航到下一个活动。

现在我想在另一个类文件中访问这两个值。

任何人都可以帮助我。

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

4 个答案:

答案 0 :(得分:1)

您可以为所有常量或临时数据创建一个类,并为其分配用户名和密码值,以便您可以从其他类访问这些凭据

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){
}

这些值将被设置,直到您的应用程序正在运行

答案 1 :(得分: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();
 }   
        });

答案 2 :(得分:1)

使用SharedPreferences存储密钥和值对。即使app不在前台,您也可以在整个应用程序中使用。您可以查看example。希望它有助于解决您的解决方案。

答案 3 :(得分: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();