有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在ANDROID中使用非UI线程(不影响UI线程)调用方法

一,。当点击一个按钮时,我正在从Android ListView中显示的数据库中获取一些数据

二,。每当后台进程运行时,它都无法正常工作。我已经搜索了在主UI线程中运行的代码,这就是我的数据库数据未被正确接收的原因

三,。我想在UI线程之外运行此代码。(普通线程或异步任务)

四,。请帮我做这个

我要在非UI线程中运行的代码:

private void output() 
{       
                            if(Popup__output.equals("All"))
                            {
                          //for delete a item in List view
                            helper.open();

                            new Handler().post(new Runnable() 
                            {

                                @Override
                                public void run()
                                {
                                    cur = helper.getCategory(Popup__output,Sharedemail);

                                    myCursorAdap = new Cursoradapterfor__page(Page1_Landing.this, cur);

                                    List.setAdapter(myCursorAdap);

                                     popupWindowvariable.dismiss();
                                }


                            });

                            }
}

共 (1) 个答案

  1. # 1 楼答案

    为了更好地实现这一点,您可以使用android AsyncTask,您可以在doInBackground()方法中获取数据,并且UI工作(如设置适配器和解除progressview)必须在UI线程上完成,因此AsyncTask为您提供onPostExecute()方法,您可以在其中执行与UI相关的操作

    有关AsyncTask的详细信息