第一个活动DishOrderActivity中有一个listview从数据库中加载数据,然后为它设置监听器,想把点到的item的id传给下一个活动,就是DishShow。DishShow中接受传来的id值,然后在数据库中查询符合这个id的项目,并把该项目的名称、价格、介绍属性用setText()传给DishShow用的布局中的TextView中。
但是运行的时候,页面中的TextView不显示数据库中数据,还是空的。求帮助。
查询应该是个耗时操作吧
你可以自己先排查一下是界面之间数据传递的问题,还是数据库查询的问题
没有异常日志,不太清楚问题到底在哪,提两点建议:1.在你的DishShow的活动中看一下你的dishId是不是有值 2.把通过dishid查询详情的逻辑放到子线程中去执行,当查询到结果的时候通过任何一种线程间通信机制(handler)去更新UI会更好。
先打log看看传来的值是不是正确,估计值不对
是我看错了还是?你贴出的代码list数据在哪里?
你打的Log在哪里?难道你用的不是AS吗?debug测试一下不就好了吗
首先在安卓编码中,主线程是不能进行任何的耗时操作的,针对你的showDish()方法直接在OnCreate中调用是不对的,
因为那是主线成,你可以使用new Thread()或者handler等在子线程中去做一些耗时操作,比如查询数据库,
然后在使用handle将子线程中的数据发送到主线程中更新UI;
主线程是可以查询数据库的,你多打几个断点,debug模式单步执行,很快就可以发现问题在哪里的。
在你第二个界面看看打印一下看看接收到第一个界面传递过去的值没
首先第一点 你的activity传值有点问题吧 你的数据是放在bundle中的 你用intent 直接取 我没试过能能不能取到 但是…… 你应该intent.getextras().getIntextra(); 先取出intent中的bendle 再取出bendle中的数据
写一个全局静态类 当跳转时给该类的全局静态变量传值 引用的时候只需要引用该去哪聚静态类中的静态变量,可完美解决。
你的查询条件是dish_id=text,不是变量的值