Android 从 onActivityResult 接收值并将其设置为 Button

标签 android android-activity android-button startactivityforresult

使用这段代码,我可以轻松地动态插入一些布局。布局包含一个 Button,我想启动它 startActivityForResult。现在,当我得到结果(文本)时,我想在 Button 上设置它。

btnAggiungiCampo.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        PopupMenu popup = new PopupMenu(this, btnAggiungiCampo);
        popup.getMenuInflater().inflate(R.menu.menu_campi, popup.getMenu());
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            public boolean onMenuItemClick(MenuItem item) {
                View child = null;
                if (item.getTitle().equals(getString(R.string.Text))) {
                    child = getLayoutInflater().inflate(R.layout.inflate_campo, null);
                    rlCampi.addView(child);

                    Button btnGeneraPSW = (Button) child.findViewById(R.id.imageButton3);
                                btnGeneraPSW.setOnClickListener(new View.OnClickListener() {
                                    @Override
                                    public void onClick(View v) {
                                        Intent inte = new Intent(this, Genera_password.class);
                                        startActivityForResult(inte, REQ_CODE_ACT1);
                                    }
                                });
                }
            }
        }
    }
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == Activity.RESULT_OK) {
        if (requestCode == REQ_CODE_ACT1) {

            // how can I set??

        }
    }
}

最佳答案

完成所有操作后,在 Genera_password Activity 中执行此操作。

Intent data=new Intent();
data.putExtra("text",requiredText);
setResult(Activity.RESULT_OK,data);
finish(); //to destroy Genera_password Activity

在当前 Activity 的OnActivityResult中

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == Activity.RESULT_OK) {
        if (requestCode == REQ_CODE_ACT1) {
            String requredText=data.getExtras().getString("text");
            button.setText(requredText);
        }
    }
}

关于Android 从 onActivityResult 接收值并将其设置为 Button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41106587/

相关文章:

java - 当我在另一个 fragment 中输入一个 fragment 时,我的应用程序停止工作

android - 如何返回关闭 Activity 之间的 Activity ?

android - 在 strings.xml 中定义背景

android - 在相对布局中添加按钮

android - 使用设计库需要使用 theme.appcompat

android - 通过命令行指定不同的服务器来构建我的应用程序的 Ant 脚本

java - 使用另一个 Activity 的静态方法启动 Activity 是一个好习惯吗?

android - Android SunFlower Project中如何获取Activity中的ViewModel?

Android:使用 xml 定义制作一个三角形按钮(可绘制)

android - 收到推送通知时添加新通知(不替换以前的)