Android系统。单击按钮,跳转到onActivity结果函数。有可能的?

时间:2015-04-23 11:58:26

标签: android android-intent

我有一个属性为android:onClick="atnDuom"的按钮。 有这个功能

public void atnDuom(View view)
{
    finish();
}

并且在同一活动中有onActivityResult个功能。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == 1) {
        if (resultCode == RESULT_OK) {

            DOP = new DatabaseOperations(ctx);
            Intent returnIntent = new Intent();

            user_name = data.getStringExtra("tarpVard");
            user_lastname = data.getStringExtra("tarpPav");
            institucijos_pavadinimas = data.getStringExtra("tarpInst");
            padalinio_pavadinimas = data.getStringExtra("tarpPad");
            pareigos = data.getStringExtra("tarpPar");
            mob_tel = data.getStringExtra("tarpMob");
            el_pastas = data.getStringExtra("tarpEl");

            setResult(RESULT_OK,returnIntent);
            DOP = new DatabaseOperations(ctx);

            if(newVard.equals("")||newPav.equals("")||newInst.equals("")||newPad.equals("")||newPar.equals("")||newMob.equals("")||newEl.equals(""))
            {
                Toast.makeText(getBaseContext(), R.string.prashome, Toast.LENGTH_LONG).show();
            }
            else
            {

                DOP.updateUserInfo(DOP, user_name, user_lastname, institucijos_pavadinimas, padalinio_pavadinimas, pareigos, mob_tel, el_pastas, newVard, newPav, newInst, newPad, newPar, newMob, newEl);
                Toast.makeText(getBaseContext(), "Duomenys atnaujinti", Toast.LENGTH_LONG).show();
                finish();
            }
        }
    }
}

可以在onActivityResult函数中执行任何操作时执行函数atnDuom吗? Finish()关闭活动,onActivityResult无效:)

1 个答案:

答案 0 :(得分:1)

您正在使用意图中的数据,如果您想从atnDuom转到onActivityResult,您需要创建一个新的Intent并推送所需的所有数据

Intent newIntent = new Intent();
newIntent.putExtras(...);

onActivityResult(REQUEST_CODE, RESULT_OK, newIntent);