线程-为什么一个写在activity的Oncreate()里面的方法不调用?!

问题描述

为什么一个写在activity的Oncreate()里面的方法不调用?!

求助啊 完全不懂啊 就是那个getClothprice()方法 搞来搞去不调用啊 后面的Init()方法反而是调用的
OrderService orderService = new OrderService();
SharedPreferences userinfo;
JSONArray clothArray;
int depar_id;
int[] pri;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ordering);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    pri = new int[10];
    InitUserinfo();
    getClothprice();
    Init();
}

    private void getClothprice() {
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                clothArray=orderService.getClothprice(1);
                if(clothArray!=null){
                    handler.sendEmptyMessage(0);
                }else{
                    //Toast.makeText(getApplicationContext(),"未连接到网络",Toast.LENGTH_SHORT).show();
                    return;
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }).start();
}

解决方案

启动一个线程,执行getClothprice,获得衣服的价格。
关键看orderService里面做了什么。

你下断点看看是不是报了异常或者走到了else分支。

解决方案二:

是不是前面有问题,跳过去le

时间: 2024-11-16 10:52:32

线程-为什么一个写在activity的Oncreate()里面的方法不调用?!的相关文章

android View与线程绘制一个小球沿轨迹运动

问题描述 android View与线程绘制一个小球沿轨迹运动 实现绘制一个小球,并运用线程的sleep使小球沿着一个圆运动如何实现 解决方案 先以你小球的位置记录下x,y 然后确定你要小球遇到的圆形的半径,还有圆心位置x1,y1 写个hander,定时post, 然后在handler 处理messge的函数中,做重绘你这个小球view的坐标(x,y). 看你要多久移动多少角度.通过圆心x1, y1 还有当前的小球位置x,y,然后把要移动的角度带进去,算一下这次移动小球新的位置x,y.然后就调用

zxing-用ZXing的demo写了一个程序,为什么用户需要选择,而不是调用自己的程序?求解决方法

问题描述 用ZXing的demo写了一个程序,为什么用户需要选择,而不是调用自己的程序?求解决方法 用ZXing的demo写了一个程序,为什么用户需要选择,而不是调用自己的程序?求解决方法 解决方案 例如Gallery3D的Activity中,每个intent-filter就是一个过滤器,你可以自己来定义,然后自己调用. <intent-filter> <action android:name=""android.intent.action.main.gallery3

android:将两个类合并到一个activity中有什么合适的方法?

问题描述 android:将两个类合并到一个activity中有什么合适的方法? 我有两个类,一个是MainActivity扩展了activity,另外一个是AlarmReceiver扩展了BroadcastReceiver.我怎么能够消除AlarmReceiver,而是在MainActivity实现这个功能?我知道不可能同时扩展两个类,所以我想知道最好的方法应该是什么? MainActivity public class MainActivity extends Activity { @Ove

thread 方面的问题-线程的一个练习题,我已经按照题目要求实现了,但总感觉别扭,求高手修改

问题描述 线程的一个练习题,我已经按照题目要求实现了,但总感觉别扭,求高手修改 题目如下: 编写10个线程,第一个线程从1加到10,第二个线程从11加到20,....第10个线程从91加到100,最后再把10个线程结果相加. 但是,感觉自己写的太复杂,求高手指点优化. 解决方案 times++ 必须同步,要不然有线程安全问题. 而且你每个线程后都加join 那和一个线程执行有什么区别吗? 解决方案二: 你这样把a()方法锁住的话,那和一个线程直接执行1直接加到100又有什么区别呢? 解决方案三:

关于线程的一个小问题:

问题描述 关于线程的一个小问题: 写十个线程,第一个线程求1到10的和,第二个11到20的和,第三个求21到30的和...第10个求91到100的和,求十个线程的和 解决方案 new是个Thread,每个Thread传入起始数字 解决方案二: 我觉得是否可以这样,你创建10个线程,在线程函数中增加一个flag参数,另外,创建一个全局的数组,10个元素,分别存放10个线程自己的值, 在运行这些线程的时候,传入falg参数,比如: static a[10] int; flag int; sum in

oncreate重复执行-Activity的onCreate执行

问题描述 Activity的onCreate执行 目前在做的项目需要有离线登录的功能,在登录页面执行一个for循环,符合条件的时候就执行startActivity到目标页面,可以debug看见代码执行了一次,可在目标页面的oncreate打印的log看见执行了很多次oncreate,不知道是怎么回事? 解决方案 activity的OnCreate OnStart........执行顺序 解决方案二: 不可能,还是代码有问题,断点在create,看看是不是多次进入,或者你打印的,在其他地方也有,你

参数传递-c#用线程打开一个新窗口并传参数显示

问题描述 c#用线程打开一个新窗口并传参数显示 我想在form1用线程打开新的通知窗口form2,并传参数过去显示在这个窗口上,每个通知窗口显示一分钟,然后自动关闭.可能同时新建并显示三到四个这样的窗口,并不影响form1的正常运行.现在用百度到的方法,要么无法传参,要么显示秒退.求大神给个实例. 解决方案 不要在线程中创建窗口或者操作UI,应该用invoke传委托.传参数可以通过构造函数. 解决方案二: 建议你在程序中建立队列 Queue<string> infoQueue=new Queu

java使用回调和线程处理一个耗时响应全过程

现在程序中有许多涉及长耗时响应过程的处理,比如访问WebService,远程调用,复杂处理等,如果我们使用直接顺序执行的方式进行处理有可能导致界面停顿,响应停止,无谓等待等缺陷,这是不应该的. 一个耗时响应过程应该采用回调和线程来处理,具体就是把原来的顺序执行修改为异步方式,并让被调用者调用调用者以获得执行结果.在附件的例子中,Viewer就是调用者,它代表界面,而LongTimeResponse是被调用者,它内部用线程启动一个耗时过程,执行完毕再通知调用者. Viewer类代码如下: publ

请看一个大神写的lambda表达式,不用linq请问怎么调用

问题描述 请看一个大神写的lambda表达式,不用linq请问怎么调用 Func<int, bool> MyAnd(Func<int, bool> f1, Func<int, bool> f2) { return x => f1(x) && f2(x); } 解决方案 直接调用也可以: bool b1 = MyAnd(x => x < 10, x => x % 2 == 0)(4); bool b2 = MyAnd(x =>