0

我知道我的标题可能有点复杂,但我真的很困惑,想不出更好的标题。

我的问题:我有一个创建新的主类intent。这个新intent的基本上只是一个弹出窗口,EditText里面有一个按钮。

我的主要课程intent是这样创建的:

Intent i = new Intent("com.stevedub.GS.INPUTMPG");
startActivity(i);

我想要做的是以某种方式获取用户EditText在 new 中输入的数据,Intent并在我的主类中使用该整数进行计算。我只是不知道如何做到这一点。

这是我的第二堂课的代码,用于新的Intent.

public class InputMPG extends Activity {

EditText mpg;
Button b;
String ans;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.inputmpg);

    mpg = (EditText) findViewById(R.id.MPGinput);
}

现在新活动只是一个类的准系统,因为我不知道是否应该EditText在该类中初始化按钮和 。任何指出我正确方向的人将不胜感激。

提前致谢。

4

2 回答 2

3

您需要做的是综合考虑。

首先,使用以下命令启动活动:

Intent intent = new Intent("com.stevedub.GS.INPUTMPG");
startActivityForResult(intent, RETURN_CODE);

然后在您的 InputMPG 类中,使用以下内容设置 Return 值:

Intent returnIntent = new Intent();
returnIntent.putExtra("result", editText.getText());
setResult(RESULT_OK, returnIntent);

最后,要在原始 Activity 中接收数据,请使用 onActivityResult 方法:

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == RETURN_CODE && resultCode == RESULT_OK) {
        //get value from intent
    } 
}
于 2012-09-18T00:04:04.857 回答
1

尝试使用startActivityForResult()

于 2012-09-17T23:58:58.910 回答