我想按顺序在三个类之间传递EditText值

时间:2013-11-29 12:49:07

标签: java android

我有3节课: 1-主要课程 2-列表类 3-计算类

我想使用主类让用户在EditText中输入值 然后使用第二个类让用户选择计算方法 然后使用第三个类来执行计算。

我需要知道如何在这三个类之间传递EditText值

4 个答案:

答案 0 :(得分:0)

使用Intent的putExtra方法。
例如:

Intent i = new Intent(Main.this, List.class);
i.putExtra("name of variable", variable);
startActivity(i);

答案 1 :(得分:0)

用它来“放”文件......

Intent i = new Intent(FirstScreen.this, SecondScreen.class);   
i.putExtra("STRING_I_NEED", edt.getText().toString);

然后,要检索值,请尝试以下内容:

String newString;
if (savedInstanceState == null) {
    extras = getIntent().getExtras();
    if(extras == null) {
        newString= null;
    } else {
        newString= extras.getString("STRING_I_NEED");
    }
} else {
    newString= (String) savedInstanceState.getSerializable("STRING_I_NEED");
}

有关详细信息,请查看指定的链接http://www.vogella.com/articles/AndroidIntent/article.html

答案 2 :(得分:0)

从EditText中获取文字

  

EditText view =(EditText)findViewById(R.id.get_Id);

将您的修改文字值传递给下一个活动,例如:

Intent intent = new Intent(context, YourActivity2.class);
intent.putExtra("selectedTrack", view.getText().toString());
startActivity(intent);

答案 3 :(得分:0)

以上所有方法都是正确的,但由于您在活动A中设置了EditText,并在活动C中使用它,您必须将EditText值传递给Activity B,然后从B传递EditText值和AND计算方法。作为替代方案,您可以使用SharedPreferences:

活动A:

//get EditText's value, I will assume you want it to be an int 
//just to show you how to save it
//later, we're doing the same with String
//NOTE: no checks are done for correct input, the below will fail
//if myEditText's content is not valid to be converted to int
EditText myEditText = (EditText)findViewById(R.id.myEditText);

int value = Integer.parseInt(myEditText.getText().toString());

// We need an Editor object to make preference changes.
SharedPreferences settings = getSharedPreferences("mySettings", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("value", value);

// Commit the edits!
editor.commit();

活动B :(我假设该方法是String,但它可以是任何其他原始类型)

String method = "multiplication";

// We need an Editor object to make preference changes.
SharedPreferences settings = getSharedPreferences("mySettings", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("method", method);

// Commit the edits!
editor.commit();

然后,在活动C中,您可以检索所有这些值:

// Restore preferences
SharedPreferences settings = getSharedPreferences("mySettings", Activity.MODE_PRIVATE);
int value = settings.getInt("value", 0);
String method = settings.getString("method", "division");

以上两者的第二个参数是默认值,以防设置不存在。

有关SharedPreferences的更多信息,请阅读文档herehere