我有3节课: 1-主要课程 2-列表类 3-计算类
我想使用主类让用户在EditText中输入值 然后使用第二个类让用户选择计算方法 然后使用第三个类来执行计算。
我需要知道如何在这三个类之间传递EditText值
答案 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");
以上两者的第二个参数是默认值,以防设置不存在。