0

2 つのアクティビティ (A と B) があります。アクティビティ A はフラグメント F で構成されています。アクティビティ B の結果をフラグメント F に渡すにはどうすればよいですか? これが私のコードです:

フラグメント F

public class FragmentF extends Fragment implements OnCLickListener {

// my editText is in this fragmentf layout
EditText editText;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View v = inflater.inflate(R.layout.fragmentf, container, false);            
        Button b = (Button) v.findViewById(R.id.to_actb);
        b.setOnClickListener(this); 
        return v;
    }

    @Override
    public void onClick(View v) {

        Intent intent = new Intent(getActivity(), ActivityB.class);
        startActivityForResult(intent, 1);
    }

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, intent);

          if (requestCode == 1) {

             if(resultCode == ActivityB.RESULT_OK){      
                 String hey = getActivity().getIntent().getStringExtra("hey.hello.MESSAGE");
                 EditText editText = (EditText) getActivity().findViewById(R.id.text1);
                 editText.setText(hey); 
             }
          }
    }
}

アクティビティ B

public class ActivityB extends Activity {

    public final static String EXTRA_MESSAGE = "hey.hello.MESSAGE";

....

    public void to_acta(View view) {

        Intent intent = new Intent(this, ActivityA.class);
        TextView textView = (TextView) findViewById(R.id.text);
        String message = textView.getText().toString();
        intent.putExtra(EXTRA_MESSAGE, message);
        setResult(RESULT_OK,intent);
        finish();      
    }

私の問題は、「to_acta」ボタンをクリックしても、編集テキスト「text1」に何も追加されないことです。

4

1 に答える 1

-2

交換

String hey = getActivity().getIntent().getStringExtra("hey.hello.MESSAGE");

String hey = data.getStringExtra(ActivityB.EXTRA_MESSAGE);
于 2013-11-11T07:06:18.537 に答える