Android:视图类和活动类的 startActivityForResult 和 setResult

2024-01-02

我很困惑,不知道如何使用 startActivityResults 和 setResults 从以前的活动中获取数据。我有一个视图类和一个活动类。

基本上在我的视图类中,我有这个对话框,它实际上会启动称为 colorActivity 类的活动类。当用户选择 yes 时,它也会将所选圆圈的名称传递给 colorActivity 类。在 colorActivity 类中,允许用户输入特定圆圈的颜色代码,我想将颜色代码传递回视图类。我在使用 startActivityForResult 和 setResult 方法将值从活动传回视图时遇到问题。另外,获取到的数据之后如何使用呢?

我的代码如下

我的视图类中的 Ontouchevent 代码:

            @Override
            public boolean onTouchEvent(MotionEvent event) {

                x = event.getX();
                y = event.getY();


                switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:


                    for (int i = 0; i < circles.size(); i++) {


                        if (circles.get(i).contains(x, y)) {
                            circleID = i;

            Handler handler = new Handler();
                                handler.postDelayed(new Runnable() {
                                    @Override
                                    public void run() {
                                        AlertDialog.Builder builder = new Builder(
                                                getContext());
                                        final EditText text = new EditText(getContext());

                                        builder.setTitle("Adding colors to circles").setMessage(
                                                "Proceed to Enter color");
                                        builder.setPositiveButton("Yes",
                                                new DialogInterface.OnClickListener() {

                                                    public void onClick(DialogInterface di,
                                                            int i) {

                                                        Intent intent = new Intent(
                                                                getContext(),
                                                                colorActivity.class);

                                                         intent.putExtra("circlename", circleNameList.get(circleID));


    startActivityForResults(intent, 1); // error incurred here : The method startActivityForResult(Intent, int) is undefined for the type new DialogInterface.OnClickListener(){}
                                                    }

                                                });
                                        builder.setNegativeButton("No",
                                                new DialogInterface.OnClickListener() {

                                                    public void onClick(DialogInterface di,
                                                            int i) {
                                                    }

                                                });

                                        builder.create().show();
                                    }
                                }, 3000);
    break;

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 1) { // Please, use a final int instead of hardcoded
                                // int value
            if (resultCode == RESULT_OK) {
                 ccode = (String) data.getExtras().getString("colorcode");
        }

        }
    }

public static String getColorCode() {
        return ccode;
    }

在颜色活动中:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_ecolor);


        circlenametextview = (TextView)findViewById(R.id.circlenametextview);


        String circlename = super.getIntent().getStringExtra("circlename");
          circlenametextview.setText(circlename);//get the circle name


savebutton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                 Intent intent = new Intent(colorActivity.this, ?????);//how to return back to the view class?


               colorcode = colorEditText.getText().toString();// I am able to get value right up till this point
              Intent resultIntent = new Intent();
                   resultIntent.putExtra("colorcode", colorcode );

                   setResult(Activity.RESULT_OK, resultIntent);
                   finish();
            }// onclick

        });
        }

更正其他代码以便您可以运行该程序后,您可以从活动中检索参数colorActivity这样:

第一步:从 colorActivity 返回一些值

Intent resultIntent = new Intent();
resultIntent.putExtra("NAME OF THE PARAMETER", valueOfParameter);
...
setResult(Activity.RESULT_OK, resultIntent);
finish();

第 2 步:从主要 Activity 收集数据

覆盖@onActivityResult(...).

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) { // Please, use a final int instead of hardcoded int value
    if (resultCode == RESULT_OK) {
        String value = (String) data.getExtras().getString("NAME OF THE PARAMETER");

参考

  • http://developer.android.com/training/basics/intents/result.html http://developer.android.com/training/basics/intents/result.html
  • 如何在 Android 上管理`startActivityForResult`? https://stackoverflow.com/questions/10407159/android-how-to-manage-start-activity-for-result
  • http://steveliles.github.io/returning_a_result_from_an_android_activity.html http://steveliles.github.io/returning_a_result_from_an_android_activity.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:视图类和活动类的 startActivityForResult 和 setResult 的相关文章

  • 更改首选项的背景颜色

    我有一个PreferenceCategory xml 文件 我已经在其中定义了所有首选项 我从扩展的类中调用它PreferenceActivity 我无法设置设置屏幕的背景 该屏幕是在如下所示的 xml 文件的帮助下显示的 请看我已经定义了
  • Sqlite 查询检查 - 小于和大于

    return mDb query DATABASE TABLE new String KEY ROWID KEY LEVEL KEY LEVEL gt 3 lt 5 null null null null 我究竟做错了什么 它返回的值全部高
  • 任务“:app:checkReleaseDuplicateClasses”执行失败

    我的 React Native Android 构建中突然出现构建问题 令人惊讶的是 它是早上建好的 没有做任何改变 但突然就失败了 这就是我得到的错误 知道为什么会发生这种情况吗 在 stack 和 GitHub 中也看到了一些类似的问题
  • Android,让文本切换器成为中心?

    如何集中我的文本切换器 我尝试过设置重力 但似乎不起作用 ts setFactory new ViewFactory public View makeView TextView t new TextView this t setTypefa
  • 不使用 CookieManager 的 Android 会话 cookie

    我的应用程序进行多次网络调用以获得身份验证 我需要将此会话存储在 cookie 中 我想使用 Cookie Manager 但经过一些研究后 我发现它仅适用于 API 9 及更高版本 并且我的应用程序需要向后兼容 我使用 HTTPURLCo
  • Android,语言文件不起作用

    我现在正在创建一个 Android 应用程序 并尝试为我的母语添加语言文件 但在某种程度上 这对我不起作用 我尝试在两部不同的手机中加载该应用程序 但结果相同 之前创建过语言文件 效果良好 但这次不行 手机设置为瑞典语 语言文件适用于我创建
  • 使用 POST 将数据从 Android 发送到 AppEngine Datastore

    抱歉 如果这是一个简单的问题 但我只是不知道我应该做什么 而且我认为我有点超出了我的深度 我想将数据从 Android 应用程序发送到在 Google App Engine 上运行的应用程序 数据必须从那里写入数据存储区 我的数据主要采用对
  • 安卓;在 AdapterViewFlipper 上设置输入/输出动画:未知的动画师名称翻译

    我有一些非常简单的动画 可以与 ViewFlipper 完美配合 但如果我尝试在 AdapterViewFlipper 输入 输出上设置它们 我会收到运行时错误 未知的动画师名称翻译 查看每个方法的相应方法 看起来 ViewFlipper
  • 如何在代码中设置TextView的文字颜色?

    在 XML 中 我们可以通过以下方式设置文本颜色textColor属性 比如android textColor FF0000 但如何通过编码来改变它呢 我尝试过类似的东西 holder text setTextColor R color R
  • ImageButton 拉伸背景图像

    我正在尝试创建一个没有边框的 ImageButton 但遇到了图像按钮大小的问题 我使用 Eclipse ADT 将 ImageButton 拖到布局中并选择背景图像 图像按钮显示如下 正如您所看到的 背景图像和图像按钮周边之间有一个边框
  • Android 依赖项:apklib 与 aar 文件

    据我了解 apklib包含代码 共享资源Maven aar文件由以下人员分发Gradle The aar与 apklib 的主要区别在于 类被编译并包含在 aar 根目录下的classes jar 中 然而apklib不能包含已编译的类文件
  • 如何使用 onSearchRequested() 调用搜索对话框

    我正在尝试实现搜索对话框 但无法显示活动中的搜索 我在清单文件中定义了主要活动 此活动向用户显示了他们必须从中选择的选项列表 选项之一是 搜索 选项
  • 对基本适配器类及其功能的疑问

    我正在尝试自定义列表视图 我使用数组列表添加对象列表 并将其发送到扩展基本适配器的类 当我扩展基本适配器类时 它实现了一些方法 例如 getView 等 在 getView 中 我将其发送到将名称 数据 分配给 XML 格式的自定义菜单的类
  • 找不到资源矢量绘图的异常

    我将在某些设备上运行我的应用程序 其崩溃日志如下 01 04 16 54 02 206 7466 7466 com lawnmowers E AndroidRuntime FATAL EXCEPTION main Process com l
  • 使用 eclipse 配置mockito 时出现问题。给出错误:java.lang.verifyError

    当我将我的mockito库添加到类路径中 并使用一个简单的mockito示例进行测试时 我尝试使用模拟对象为函数add返回错误的值 我得到java lang verifyerror 以下是用于测试的代码 后面是 logcat Test pu
  • 在Android中提取视频帧

    我想知道是否可以从 Android 中正在运行的视频中提取帧 我需要定期提取帧并将其发送以进行进一步处理 有人能为我找到答案吗 Thanks Abhi 您可以使用媒体元数据检索器 http developer android com ref
  • Admob - 没有广告可显示

    你好 我尝试制作一些在 Android 手机上显示广告的示例程序 并尝试在 v2 2 的模拟器上测试它 代码中的一切似乎都很好 但调试器中的 AdListener 表示 响应消息为零或空 onFailedToReceiveAd 没有广告可显
  • TYPE_ACCELEROMETER 和 TYPE_LINEAR_ACCELERATION 传感器有什么区别?

    I think TYPE ACCELEROMETER显示设备加速 但是 我不明白什么时候应该使用TYPE LINEAR ACCELERATION 我需要计算移动设备的速度 哪种传感器适合此应用 另外 我读到TYPE LINEAR ACCEL
  • Android:列“_id”不存在

    我收到这个错误 IllegalArgumentException 列 id 不存在 当使用SimpleCursorAdapter从我的数据库中检索 该表确实有这个 id柱子 注意到这是一个常见问题 我尝试根据网上的一些解决方案来解决它 但它
  • Android 中带有无尽列表视图滚动的 AsyncTask

    我正在创建一个应用程序 其中我需要有无限的滚动列表视图 我不想在我的应用程序中使用任何库 我在网上看到了一些有助于实现此类列表视图的示例 但我的疑问是 当我的数据来自服务器并在异步任务中进行解析时 如何才能拥有无尽的列表视图 如何从滚动异步

随机推荐

  • R引导错误中的Phylo相关图?

    我正在尝试根据我的数据创建一个系统相关图phyloCorrelogram来自phylosignal包以测试系统发育信号的存在 我的数据在所谓的phylo4d格式并被称为tree 现在 当我跑步时phyloCorrelogram tree 我
  • 可以将 firestore 查询表示为字符串

    可以表示一个CollectionReference作为具有 getter 属性的字符串path 这对于单元测试来说非常方便 例如admin firestore collection cities doc LA path回报 cities L
  • Android/Python 如何使用RSA和PKCS1 Padding验证签名SHA256

    我是新会员 我等了两天才找到解决方案验证从android客户端到python服务器的签名 首先 我创建密钥对并从私钥生成签名 谢谢 pedrofb 我已经更新了完整的代码 验证在 python 服务器中完成 protected void o
  • 无法解析的标识符 - SKErrorPaymentCancelled [重复]

    这个问题在这里已经有答案了 昨天 随着 iOS 9 3 和 OSX 10 11 4 包括 Swift 2 2 的发布 我更新到了最新版本的 Xcode 7 3 当我构建我的应用程序时 我收到一条错误消息Use of unresolved i
  • 如何创建一个采用默认值的 CMake 变量,除非显式覆盖?

    我有一个使用 CMake 构建的 C 项目 我希望 CMakeLists txt 中的构建配置能够构建在Release默认模式 并内置Debug仅当明确指定时才模式 参考this https cmake org cmake help v3
  • Objective C - 如何编写宏

    我需要编写一个多行宏 我需要这个 因为我必须有部分代码已 粘贴 到我的代码中的特定点 我怎样才能做到这一点 从你的问题中并不清楚你真正想要什么 但是一个简单的多行宏定义如下 define FOO something something el
  • MS SQL:通过包含新表中的附加列来更改索引视图

    我需要通过包含新创建的表中的附加列值来更新现有的 MS SQL 索引视图 索引视图 CREATE OR ALTER VIEW dbo MySelectionInfo WITH schemabinding AS SELECT C Id id0
  • 在精灵上制作滚动视图锁定并放大它

    参考我之前的问题 Swift 2 0 SpriteKit 滚动视图不使用页面 https stackoverflow com questions 34849615 swift 2 0 spritekit scrollview to not
  • 如何使用 spring-boot gradle 插件进行混淆

    如何使用 Spring Boot 2 和 gradle 构建设置 proguard 混淆 你好 尝试使用其 gradle 插件和 Proguard gradle 插件设置 Spring Boot 应用程序的代码混淆 Google 主要为旧的
  • 安装工具平台特定依赖项

    有什么方法可以告诉 setuptools 或分发以在特定平台上需要包吗 在我的具体情况下 我使用readline 它是 Unix 系统上标准库的一部分 但在 Windows 上我需要pyreadline模块来替换该功能 参见这个问题 htt
  • 如何将wordpress中的下载网址路径更改为www.yoursite.com/download?

    我试图隐藏或缩短上传到 wp content uploads 文件夹的文件或图片的链接 默认情况下 在 WordPress 中 如果您上传图像 pdf 等并将其插入帖子或页面 它将具有如下链接 mysite com wp content u
  • 如何在代码隐藏中使用 Eval 来设置 Page.Title

    我有一个绑定到 ListView 控件的 SQLDataSource 但我想将部分绑定记录放入 HTML TITLE 属性中 这是我想要更改的代码隐藏文件 以便它可以使用 Eval 根据数据内容构建动态 TITLE Public Parti
  • 汇编 x86 中的 Math.h 库函数? [复制]

    这个问题在这里已经有答案了 我尝试将 Linux fedora 9 下编写的 C 代码转换为汇编 x86 代码 但是 我在 Math h 函数中遇到问题 该库中的函数 例如 ceil floor log log10 pow 在 x86 汇编
  • Java 中 volatile 关键字最简单易懂的示例

    我正在读关于volatileJava 中的关键字并完全理解其中的理论部分 但是 我正在寻找的是一个很好的案例 它展示了如果变量不存在会发生什么volatile如果是的话 下面的代码片段无法按预期工作 摘自here https stackov
  • 回发后视图状态不保留

    我在保持控件回发时的视图状态时遇到一些问题 vb net 这是我在控制中放入的一些代码 Protected Overrides Sub OnInit ByVal e As System EventArgs MyBase OnInit e M
  • 如何避免在 TEdit 聚焦时按下 Escape 时发出叮当声?

    在我几年前开发的代码中 我经常使用它来随时按 Escape 键关闭当前表单 procedure TSomeForm FormKeyPress Sender TObject var Key Char begin if key 27 then
  • Shibboleth - 如何读取属性?

    我已使用 Shibboleth 成功登录到我的服务提供商测试页面 然后我转到 Shibboleth sso Session 页面 我看到以下内容 Attributes affiliation 1 value s entitlement 1
  • 我可以制作图案密码屏幕锁定 android 应用程序吗

    有人有开发应用程序来替换默认锁定屏幕的经验吗 我被告知这是不可能的 但是this http www 1mobile com pattern password screen locker 849722 html应用程序管理它 您知道的任何教程
  • 新手批量问题-创建文件

    我正在开发一个批处理程序 该程序可以扫描 PC 的各个部分 并将它们记录到文件中 令人惊讶的是 我无法让程序创建要写入的文件 然后我尝试创建一个文件 我相当确定它会起作用 如下 echo off ipconfig gt ip txt tim
  • Android:视图类和活动类的 startActivityForResult 和 setResult

    我很困惑 不知道如何使用 startActivityResults 和 setResults 从以前的活动中获取数据 我有一个视图类和一个活动类 基本上在我的视图类中 我有这个对话框 它实际上会启动称为 colorActivity 类的活动