将 JSON 对象传递给列表项单击上的另一个活动

2024-01-11

我这里有一个场景,我想在列表项上传递所需的 json 对象,单击我的下面的活动

假设当我点击deal 2jArray 中的第二个 json 对象应该传递给意图,我的下一个活动必须获取它。

but problem here is that when i click any of the list items the next activity receives json object at last index final deal activity.

这是我来自 alldeals.java 的代码

try{
            jArray = new JSONArray(result);
            for(int i=0;i<jArray.length();i++){
                    json_data = jArray.getJSONObject(i);

                    Log.i("log_tag","dealid: "+json_data.getString("deal_id")+
                            ", hotel name: "+json_data.getString("hotel_name")+
                            ", location: "+json_data.getString("location")+
                            ", website: "+json_data.getString("website")
                    );

            }

            json_data=new JSONObject();
            String[] data=new String[jArray.length()];
            planetList = new ArrayList<String>();
                for(int i=0;i<jArray.length();i++)
                {
                    json_data= jArray.getJSONObject(i);
                    data[i]=json_data.getString("deal_id");
                    Log.i("log_tag", "string "+data[i]);
                    planetList.addAll( Arrays.asList("Deal "+ (i+1)));  
                    listAdapter = new ArrayAdapter<String>(this, R.layout.listrow, planetList);
                    runOnUiThread(new Runnable() {
                        public void run() {
                            list.setAdapter(listAdapter);
                        }
                    });
                 }
                list.setOnItemClickListener(new OnItemClickListener() {  //where to put this piece of code???

                    public void onItemClick(AdapterView<?> arg0, View arg1,
                            final int arg2, long arg3) {

                    Intent intent = new Intent(context,Finaldeal.class);  
                    intent.putExtra("deal", json_data.toString());
                    startActivity(intent);                                     
                    }

                }); 

    }
    catch(JSONException e){
            Log.e("log_tag", "Error parsing data "+e.toString());
    }

我知道为了解决这个问题我必须把我的list.setOnItemClickListener()在正确的位置,但我很困惑该把它放在哪里,所以当我点击deal1第一个 json 对象将传递给 Intent


你可以通过JsonObject从 JsonArray 根据 ListView 项目单击的位置为:

list.setOnItemClickListener(new OnItemClickListener() {

   public void onItemClick(AdapterView<?> arg0, View arg1,
                    final int arg2, long arg3) {
         if(!jArray.isNull(arg2)){
           Intent intent = new Intent(context,Finaldeal.class);  
           intent.putExtra("deal", jArray.optJSONObject(arg2).toString());
           startActivity(intent);                                     
         }   
       }

    }); 

目前你正在通过json_data当 for 循环执行结束时,它始终包含 JSONArray 中的最后一个 JSONObject

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 JSON 对象传递给列表项单击上的另一个活动 的相关文章

  • 如何以编程方式判断蓝牙设备是否已连接?

    我了解如何获取已配对设备的列表 但如何判断它们是否已连接 这一定是可能的 因为我看到它们列在我手机的蓝牙设备列表中 并且它说明了它们的连接状态 将蓝牙权限添加到您的AndroidManifest中
  • android:ScrollView(或视差)内的RecyclerView

    我有一个片段2 次卡片浏览内有多个控件 below我有第二个卡片视图回收者视图 这有效perfect 问题是 recyclerview 启动了屏幕的最底部 并且滚动recyclerview非常small 以前使用过列表视图 这使我可以适应您
  • Android 中图像字节表示的每像素字节数

    我目前正在编写一个Android应用程序 需要在其中使用OCR 为了实现这一点 我将 Tesseract 与tesseract android tools 项目 http code google com p tesseract androi
  • 如何在 Android 中创建始终位于顶部的全屏覆盖 Activity

    我希望能够创建一个始终位于 Android 显示前面的 Activity 它不应该接收任何输入 只需将其传递到其下面的任何应用程序即可 像平视显示器之类的东西 我能够研究我需要将底层窗口类型设置为 TYPE SYSTEM ALERT 但看起
  • 将项目添加到 android 框架的设置中

    我正在 android 框架中工作 我想向 android 操作系统中的现有设置添加一个项目 您能告诉我如何执行此操作吗 首先阅读有关偏好活动 http developer android com reference android pre
  • 处理 Json.NET 中的字节顺序标记 (BOM) 字符

    对于 NET Core 项目 我使用返回 JSON 格式的数据的公共 API 然而 他们的一些 不是全部 响应在字符串开头有一个 BOM 字符 这会导致 Visual Studio 和 Json NET 无法将该字符串识别为有效的 JSON
  • MediaPlayer.create() 始终返回 null

    我以前用过媒体播放器 从来没有遇到过这个问题 每当我尝试使用 MediaPlayer create 时 该方法都会给我 null 并且我无法播放声音 我有什么遗漏的吗 public class Game extends Activity p
  • 使用 START_STICKY 启动时服务进程被终止后的 onStartCommand

    我一直在阅读 Android 文档 我想知道是否有人可以阐明当以 START STICKY 启动的服务的进程被终止时服务实例会发生什么情况 我假设本地状态数据 实例变量 也丢失了 Android 在重新创建服务时是否会采取任何措施来帮助重新
  • 旋转 Google 地图中的两层标记图标

    在我的应用程序中 我向地图添加了一定数量的标记 如下所示 private fun addMarker googleMap GoogleMap location Location val options MarkerOptions optio
  • 检测设备方向

    我需要检测 Android 设备方向变化 而无需手动处理传感器数据 同时保持活动方向坚持某个方向 onConfigurationChange不会起作用 因为会让我的活动不旋转 通过使用传感器数据来检测方向变化 我认为这是轮子的发明 因为 A
  • 如何防止应用程序被盗(针对Android应用程序)?

    我想知道防止人们窃取我的应用程序的最有效方法是什么 在线下载 apk 的副本而不是购买它 我已经花了一个lot特别是 Droidbox 上的时间 并且不会发布 Sync 直到我可以保证提供专业版本的非法副本的人无法发布 有人实施过这个吗 我
  • 如何让surfaceview透明

    大家好 我想让我的 DrawingSurface 视图透明 我尝试了很多东西 但它不起作用 这是我的 xml 代码 使我的表面视图透明
  • Android 两个 Activity 之间的共享元素转换不起作用

    在我的应用程序中 我尝试使用新引入的活动之间共享的元素 如果共享元素具有固定位置 例如 android layout gravity top 但是当视图被锚定时问题就出现了 我的第一个活动如下所示
  • 如何获取Android中的所有主屏幕?

    我是安卓开发新手 我知道每个主屏幕都是启动器中的一个工作区 我想获取屏幕上所有应用程序图标的所有位置信息 那么有没有办法获取这些屏幕对象及其图标信息的列表 ADD 我更期待的是应用程序图标和屏幕之间的关系 例如 我想要某个应用程序图标的位置
  • 用户通过 firebase 动态链接安装应用程序并在应用程序抽屉上打开应用程序后,如何获得深层链接?

    我正在使用 firebase 动态链接邀请朋友使用我的应用程序 一切都很好 单击邀请链接会将我带到 Playstore 当我安装应用程序并等待其完成时 Playstore 会向我显示 继续 按钮 当我单击此按钮时 应用程序将打开 并且我会收
  • 活动中列表视图中的粘滞行

    我的列表视图中只有一行应该是粘性的 而不是粘性标题中带有字母的部分或部分 我真的很感激任何关于列表视图在活动中粘性一行而不是片段的帮助 我该怎么做 我真的很感谢任何帮助 提前致谢 使用如下代码 class MyAsyncTask exten
  • 在 VideoView 开始播放之前,TextView 不会显示

    我编写了一个android应用程序 它有两个视图 TextView上方的VideoView 位于ScrollView内部 我遇到了一个问题 直到VideoView开始播放视频 TextView才显示 并且我有一个黑屏 这可能需要很长一段时间
  • 如何从另一个活动更新 Recyclerview 数据

    我有两个活动 MainActivity 和 Addlogactivity 我正在更新 Addlogactivity 中的数据 该数据应显示在 mainactivity recyclerview 中 数据未在数据库中更新 MianActivi
  • 使用 PDFBox 在 Android 中创建 PDF

    我正在尝试通过我的 Android 应用程序创建 PDFPDFBoxapi 但出现以下错误 java lang NoClassDefFoundError org apache pdfbox pdmodel PDDocument 我已经将以下
  • Android Webview隐私浏览

    我在我的 Android 应用程序中使用 webview 从多个站点获取一些网页 我对 webview 行为有一些疑问 webview 是否存储历史记录 cookie 表单自动填充信息 如果是的话 我们可以阻止它这样做吗 如果 Webvie

随机推荐