0

我想将活动 B 中的事件数据传递给活动 A。

活动 A 如下所示:

public class ActivityDemo extends Activity {

private Intent mIntent;

private Context mContext;

private TextView mText;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.demo_activity);

    mContext = getApplicationContext();

    Button button = (Button)findViewById(R.id.qbutton);

    if (button != null) {
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                mIntent = new Intent(mContext, DualActivity.class);
                if (mIntent != null) {
                    startActivity(mIntent);
                }
            }
        });
    }
    mText = (TextView)findViewById(R.id.qText);
}
...
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
        mText.setText(data.getStringExtra("TextOut"));
    }
}

活动 B 是这样的:

public class DualActivity extends Activity implements QFragment.OnDataPassToActivity {

private Context mContext;

private Intent mIntent;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mContext = getApplicationContext();

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(SUIRes.layout(getApplicationContext(), "dual_default_activity"));

    mIntent = getIntent();
}

public void onDataPassToActivity(String string) {
    if(mIntent != null) {
        mIntent.putExtra("TextOut", string);
    }
    //Toast.makeText(getApplicationContext(), string, Toast.LENGTH_SHORT).show();
}
}

Activity B 最初是由 Activity A 调用的,而 onDataPassToActivity() 是一个回调函数,被另一个类调用。我想在调用 onDataPassToActivity() 函数时将字符串数据发送到 Activity A。我检查了评论的 Toast 在调用回调时工作正常,但无法将意图发送到 Activity A。

这个问题还有其他解决方案吗?

4

0 回答 0