Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android如何在获得Specsific值后终止函数并返回asyntask_Android - Fatal编程技术网

android如何在获得Specsific值后终止函数并返回asyntask

android如何在获得Specsific值后终止函数并返回asyntask,android,Android,如何在特定点终止函数我使用中断,但它不工作请帮助我,当当前日期与数据库匹配时,请不要继续,函数关闭中断不工作有其他建议吗 public class getDataTask extends AsyncTask<Void, Void, Void> { getDataTask() { } @Override protected void onPreExecute() { // TODO Auto-gene

如何在特定点终止函数我使用中断,但它不工作请帮助我,当当前日期与数据库匹配时,请不要继续,函数关闭中断不工作有其他建议吗

                public class getDataTask extends AsyncTask<Void, Void, Void> {

    getDataTask() {

    }

    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
         yourBoolean=false;
    }

    @Override
    protected Void doInBackground(Void... arg0) {
        // TODO Auto-generated method stub

        displayData();
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        // TODO Auto-generated method stub
        yourBoolean=true ;
        listCategory.setAdapter(cla);
        menu_nametxt.setText(mVal2);
                                  }








                    private void displayData() {


    Cursor mCursor2 =  db.selectQuery("SELECT s.name ASxxxx ORDER BY md.sort ASC");


    if (mCursor2.moveToFirst()) {
        do {



        Calendar_id =(mCursor2.getString(mCursor2.getColumnIndex("calendar_id")));


        } while (mCursor2.moveToNext());
    }


    mCursor2.close();






 Cursor mCursor3 =  db.selectQuery("SELECT * FROM uss_vacation WHERE calendar_id = 
      '"+Calendar_id+"' ");


    if (mCursor3.moveToFirst()) {
        do {


  Vacation_Date.add(mCursor3.getString(mCursor3.getColumnIndex("date")));

    if(mCursor3.getString(mCursor3.getColumnIndex("date")).equals(mydate))
            {
           String  mVal  ;
                mVal = 
  (mCursor3.getString(mCursor3.getColumnIndex("title")));

        //
                mVal3 = mVal;

  //////////////////////////////help here//////////////////////
 i want function displayData(); close at this like and not processing further any idea?? i used 
    break but is not work
                break;

            }


        } while (mCursor3.moveToNext());
    }


    mCursor3.close();








Cursor mCursor =  db.selectQuery("SELECT s.name  '"+Meal_groupid+"' ORDER BY md.sort ASC");
    Category_ID.clear();
    school_name.clear();
    menu_name.clear();

    dish_name.clear();
    dish_ID.clear();
    day.clear();



    if (mCursor.moveToFirst()) {
        do {

            zero1check = valll.toString();
            if (zero1check.equals("0"))
                byweekdate = Todayday + 1;
            else if (zero1check.equals("1")) {
                byweekdate = Todayday + 2;

            }

      school_name.add(mCursor.getString(mCursor.getColumnIndex("school_name")));
            String Scdedulechk;

            Scdedulechk=(mCursor.getString(mCursor.getColumnIndex("Schedule")));
            Schedule.add(mCursor.getString(mCursor.getColumnIndex("Schedule")));
            day.add(mCursor.getString(mCursor.getColumnIndex("day")));

            String chkdate;

            chkdate=(mCursor.getString(mCursor.getColumnIndex("day")));


            if ((Scdedulechk).equals("weekly")) {

                if ((chkdate).equals(Todayday)) {




       menu_name.add(mCursor.getString(mCursor.getColumnIndex("menu_title")));
            String menu_title;

            menu_title=
      (mCursor.getString(mCursor.getColumnIndex("menu_title")));
            mVal2=menu_title.toString();


   dish_name.add(mCursor.getString(mCursor.getColumnIndex("dish_name")));

dish_ID.add(mCursor.getString(mCursor.getColumnIndex("dish_id")));



   Category_ID.add(mCursor.getString(mCursor.getColumnIndex("calendar_id")));
                }
            }
            else 
                if ((Scdedulechk).equals("biweekly")) {

                    if ((chkdate).equals(byweekdate)) {




   menu_name.add(mCursor.getString(mCursor.getColumnIndex("menu_title")));


   dish_name.add(mCursor.getString(mCursor.getColumnIndex("dish_name")));


     dish_ID.add(mCursor.getString(mCursor.getColumnIndex("dish_id")));



    Category_ID.add(mCursor.getString(mCursor.getColumnIndex("calendar_id")));
                    }
                }


        } while (mCursor.moveToNext());
    }


    mCursor.close();


}
公共类getDataTask扩展了AsyncTask{
getDataTask(){
}
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
yourBoolean=false;
}
@凌驾
受保护的Void doInBackground(Void…arg0){
//TODO自动生成的方法存根
显示数据();
返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
//TODO自动生成的方法存根
yourBoolean=true;
setAdapter(cla);
菜单名称txt.setText(mVal2);
}
私有void displayData(){
游标mCursor2=db.selectQuery(“按md.sort ASC选择s.name ASxxxx ORDER”);
if(mCursor2.moveToFirst()){
做{
日历id=(mCursor2.getString(mCursor2.getColumnIndex(“日历id”)));
}while(mCursor2.moveToNext());
}
mCursor2.close();
游标mCursor3=db.selectQuery(“选择*从uss\u休假,其中日历\u id=
“+日历id+”);
if(mCursor3.moveToFirst()){
做{
假期日期添加(mCursor3.getString(mCursor3.getColumnIndex(“日期”));
if(mCursor3.getString(mCursor3.getColumnIndex(“日期”)).equals(mydate))
{
字符串mVal;
mVal=
(mCursor3.getString(mCursor3.getColumnIndex(“title”));
//
mVal3=mVal;
//////////////////////////////帮帮我//////////////////////
我想要函数displayData();像这样关闭,不进一步处理我使用的任何想法
休息但不是工作
打破
}
}while(mCursor3.moveToNext());
}
mCursor3.close();
Cursor mCursor=db.selectQuery(“选择s.name'+膳食\组ID+”'按md.sort ASC排序”);
类别_ID.clear();
学校名称。清除();
菜单名称。清除();
菜名。清除();
洗碗碟清洁();
天,晴朗;
if(mCursor.moveToFirst()){
做{
zero1check=valll.toString();
if(zero1check.equals(“0”))
byweekdate=今天+1;
else if(zero1check.equals(“1”)){
按工作日=今天+2;
}
school_name.add(mCursor.getString(mCursor.getColumnIndex(“school_name”));
字符串Scdedulechk;
Scdedulechk=(mCursor.getString(mCursor.getColumnIndex(“Schedule”));
add(mCursor.getString(mCursor.getColumnIndex(“Schedule”));
day.add(mCursor.getString(mCursor.getColumnIndex(“day”));
字符串chkdate;
chkdate=(mCursor.getString(mCursor.getColumnIndex(“日”));
如果((Scdedulechk).equals(“每周”)){
如果((chkdate).equals(今天)){
menu_name.add(mCursor.getString(mCursor.getColumnIndex(“menu_title”));
字符串菜单标题;
菜单标题=
(mCursor.getString(mCursor.getColumnIndex(“菜单标题”));
mVal2=菜单标题.toString();
dish_name.add(mCursor.getString(mCursor.getColumnIndex(“dish_name”));
dish_ID.add(mCursor.getString(mCursor.getColumnIndex(“dish_ID”));
Category_ID.add(mCursor.getString(mCursor.getColumnIndex(“calendar_ID”));
}
}
其他的
如果((Scdedulechk).equals(“双周”)){
if((chkdate).equals(byweekdate)){
menu_name.add(mCursor.getString(mCursor.getColumnIndex(“menu_title”));
dish_name.add(mCursor.getString(mCursor.getColumnIndex(“dish_name”));
dish_ID.add(mCursor.getString(mCursor.getColumnIndex(“dish_ID”));
Category_ID.add(mCursor.getString(mCursor.getColumnIndex(“calendar_ID”));
}
}
}while(mCursor.moveToNext());
}
mCursor.close();
}

中断
替换为
返回
中断
只会中断循环,
返回
“停止”方法。

将函数的返回类型从void更改为int或else,并在所需操作完成时返回任何内容。 例如


在这里,我要诚实地指出,你的代码令人厌恶。不管有没有技能,代码的草率都是没有意义的。请正确格式化你的代码,尤其是大括号,这是不可能的。还请解释什么“不起作用”意思是。请,如果您将来提出任何问题,请花时间正确格式化您的代码(例如,确保缩进正确)而且只包括相关的代码。太好了,我们现在正在SO教授Java基础知识。好吧,这是我最好的猜测。实际上,我不想阅读上面所有可怕的代码。我不是在敲你的答案——我对像这样的大量缺乏基础知识的问题感到恼火。
int test_func(){ 

 //your code here
if(actionCompleted){
    return 1;
// function will be closed 
 }
else
//your code

return 0;
}