0

私のタイトルは少し複雑かもしれませんが、私は本当にかなり混乱していて、より良いタイトルを考えることができませんでした。

私の問題:新しいを作成するメインクラスがありますintent。この新しいものは、基本的には、その中に1つのボタンintentがある単なるポップアップです。EditText

私のメインクラスはそのように作成しますintent

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

私がやりたいのは、ユーザーがEditTextnewに入力したデータを取得Intentし、メインクラスでその整数を使用して計算を行うことです。私はこれをどのように達成するのか分かりません。

これは、新しいに使用される2番目のクラス用に持っているコードです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クラスで、次のように戻り値を設定します。

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

最後に、元のアクティビティのデータを受け取るには、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 に答える