Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.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 ListFragment不是显示数据_Android_Android Fragments_Android Listfragment - Fatal编程技术网

Android ListFragment不是显示数据

Android ListFragment不是显示数据,android,android-fragments,android-listfragment,Android,Android Fragments,Android Listfragment,我正在做一个项目,在这个项目中,我必须显示一个系的可用教授名单。我希望允许学生按系搜索教授,而不是显示所有教授。因此,学生将登录,根据姓名、系、课程ID或所有信息搜索教授。我正在使用自定义列表适配器。我注意到Adapter对象不是空的,但列表仍然显示“没有可显示的记录。我认为问题与我在ProfessorDetail类中设置适配器的方式有关。我在这里做错了什么? 见以下代码: 教授班 包com.mb.professor import android.os.Bundle; impor

我正在做一个项目,在这个项目中,我必须显示一个系的可用教授名单。我希望允许学生按系搜索教授,而不是显示所有教授。因此,学生将登录,根据姓名、系、课程ID或所有信息搜索教授。我正在使用自定义列表适配器。我注意到Adapter对象不是空的,但列表仍然显示“没有可显示的记录。我认为问题与我在ProfessorDetail类中设置适配器的方式有关。我在这里做错了什么? 见以下代码:

教授班 包com.mb.professor

    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentTransaction;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Spinner;

    import com.mb.professor.asynctasks.ProfessorAsyncTask;

    /**
     * Created by Gagouche on 7/25/13.
     */
    public class Professors extends FragmentActivity {
       private Button bSearch;
        private EditText etSearchBy;
        private EditText etCourseId;
        private Spinner spSearchDecision;
        private String searchValue = null;
        private Professor[] _professor = null;
        public Professors()
        {

        }
        public Professors(Professor[] professor)
        {
            this._professor = professor;
        }
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.professor);
            InitialVariables();
        }

        private void InitialVariables()
        {
            bSearch = (Button) this.findViewById(R.id.bSearch);
            etSearchBy = (EditText) this.findViewById(R.id.etSearchByDepartment);
            etCourseId = (EditText) this.findViewById(R.id.etSearchByCouseId);
            spSearchDecision = (Spinner) this.findViewById(R.id.spOption);
            bSearch.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                  if(searchValue == "Department")
                    {

                        ProfessorAsyncTask professor = new ProfessorAsyncTask();
                        professor.execute("");

                        FragmentManager mFragment = getSupportFragmentManager();
                        FragmentTransaction ft = mFragment.beginTransaction();
                        ProfessorDetail pDetail = new ProfessorDetail();
                        pDetail.setProfessorAdapter(_professor);
                        ft.replace(R.id.fprofessorDetail, pDetail);
                        ft.addToBackStack(null);
                        ft.commit();
                    }
                }
            });

            spSearchDecision.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                     switch (position)
                     {
                         case 0:
                             searchValue = "By All";
                             break;
                         case 1:
                             searchValue = "Department";
                             break;
                         case 2:
                             searchValue = "CourseId";
                             break;
                     }
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                    searchValue = "By All";
                }
            });
        }
    }
教授的任务

       package com.mb.professor.asynctasks;

import android.os.AsyncTask;
import android.support.v4.app.FragmentActivity;

import com.mb.professor.Course;
import com.mb.professor.Professor;
import com.mb.professor.ProfessorDetail;
import com.mb.professor.Professors;
import com.mb.professor.R;

/**
 * Created by Gagouche on 8/1/13.
 */
public class ProfessorAsyncTask extends AsyncTask<String,Void,Professor[]> {
   private FragmentActivity fActivity;
    public ProfessorAsyncTask()
    {

    }
    @Override
    protected Professor[] doInBackground(String... params) {
        Professor[] professor = new Professor[5];
        professor[0] = new Professor("Finance", "John", "123", "Accounting");
        professor[1] = new Professor("Accounting", "Cain", "124", "finance");
        professor[2] = new Professor("Database", "Eugene", "125", "Music");
        professor[3] = new Professor("Finance", "Seikei", "126", "Engineer");
        professor[4] = new Professor("Finance", "Bojok", "127", "Math");

        return professor;
    }

    @Override
    protected void onPostExecute(Professor[] professors) {
        super.onPostExecute(professors);
       // ProfessorDetail professorDetailFragment = (ProfessorDetail)fActivity.getSupportFragmentManager().findFragmentById(R.id.fprofessorDetail);
     //   Professors prof = new Professors(professors);
    }
}
    package com.mb.professor.asynctasks;

    import android.app.FragmentTransaction;
    import android.os.AsyncTask;
    import android.support.v4.app.FragmentActivity;

    import com.mb.professor.Course;
    import com.mb.professor.CourseDetail;
    import com.mb.professor.R;

    import java.util.List;

    /**
     * Created by Gagouche on 8/1/13.
     */
    public class CourseAsyncTask extends AsyncTask<String, Void, Course[]> {
    private FragmentActivity mActivity;
       private Course[] course = null;

        public CourseAsyncTask(FragmentActivity activity)
        {
            this.mActivity = activity;
        }
        @Override
        protected Course[] doInBackground(String... params) {
            Course[] course = new Course[5];
            course[0] = new Course("Finance", "John", "123");
            course[1] = new Course("Accounting", "Cain", "124");
            course[2] = new Course("Database", "Eugene", "125");
            course[3] = new Course("Finance", "Seikei", "126");
            course[4] = new Course("Finance", "Bojok", "127");

            return course;
        }

        @Override
        protected void onPostExecute(Course[] courses) {
            super.onPostExecute(courses);
            CourseDetail courseDetailFragment = (CourseDetail) mActivity.getSupportFragmentManager().findFragmentById(R.id.fCourseDetail);
            courseDetailFragment.setCourseData(courses);
        }
    }
package com.mb.professor.asynctasks;
导入android.os.AsyncTask;
导入android.support.v4.app.FragmentActivity;
导入com.mb.professor.Course;
导入com.mb.professor.professor;
导入com.mb.professor.professor详细信息;
导入com.mb.professor.Professors;
导入com.mb.professor.R;
/**
*Gagouche于2013年8月1日创作。
*/
公共类ProfessorAsyncTask扩展了AsyncTask{
私人碎片活动的真实性;
公共教授(任务)
{
}
@凌驾
受保护教授[]doInBackground(字符串…参数){
教授[]教授=新教授[5];
教授[0]=新教授(“金融”、“约翰”、“123”、“会计学”);
教授[1]=新教授(“会计学”、“凯恩”、“124”、“金融”);
教授[2]=新教授(“数据库”、“尤金”、“125”、“音乐”);
教授[3]=新教授(“金融”、“Seikei”、“126”、“工程师”);
教授[4]=新教授(“金融”、“博约克”、“127”、“数学”);
返回教授;
}
@凌驾
PostExecute上受保护的void(教授[]教授){
super.onPostExecute(教授);
//ProfessorDetail professorDetailFragment=(ProfessorDetail)事实性。getSupportFragmentManager().findFragmentById(R.id.fprofessorDetail);
//教授=新教授(教授);
}
}
课程任务

       package com.mb.professor.asynctasks;

import android.os.AsyncTask;
import android.support.v4.app.FragmentActivity;

import com.mb.professor.Course;
import com.mb.professor.Professor;
import com.mb.professor.ProfessorDetail;
import com.mb.professor.Professors;
import com.mb.professor.R;

/**
 * Created by Gagouche on 8/1/13.
 */
public class ProfessorAsyncTask extends AsyncTask<String,Void,Professor[]> {
   private FragmentActivity fActivity;
    public ProfessorAsyncTask()
    {

    }
    @Override
    protected Professor[] doInBackground(String... params) {
        Professor[] professor = new Professor[5];
        professor[0] = new Professor("Finance", "John", "123", "Accounting");
        professor[1] = new Professor("Accounting", "Cain", "124", "finance");
        professor[2] = new Professor("Database", "Eugene", "125", "Music");
        professor[3] = new Professor("Finance", "Seikei", "126", "Engineer");
        professor[4] = new Professor("Finance", "Bojok", "127", "Math");

        return professor;
    }

    @Override
    protected void onPostExecute(Professor[] professors) {
        super.onPostExecute(professors);
       // ProfessorDetail professorDetailFragment = (ProfessorDetail)fActivity.getSupportFragmentManager().findFragmentById(R.id.fprofessorDetail);
     //   Professors prof = new Professors(professors);
    }
}
    package com.mb.professor.asynctasks;

    import android.app.FragmentTransaction;
    import android.os.AsyncTask;
    import android.support.v4.app.FragmentActivity;

    import com.mb.professor.Course;
    import com.mb.professor.CourseDetail;
    import com.mb.professor.R;

    import java.util.List;

    /**
     * Created by Gagouche on 8/1/13.
     */
    public class CourseAsyncTask extends AsyncTask<String, Void, Course[]> {
    private FragmentActivity mActivity;
       private Course[] course = null;

        public CourseAsyncTask(FragmentActivity activity)
        {
            this.mActivity = activity;
        }
        @Override
        protected Course[] doInBackground(String... params) {
            Course[] course = new Course[5];
            course[0] = new Course("Finance", "John", "123");
            course[1] = new Course("Accounting", "Cain", "124");
            course[2] = new Course("Database", "Eugene", "125");
            course[3] = new Course("Finance", "Seikei", "126");
            course[4] = new Course("Finance", "Bojok", "127");

            return course;
        }

        @Override
        protected void onPostExecute(Course[] courses) {
            super.onPostExecute(courses);
            CourseDetail courseDetailFragment = (CourseDetail) mActivity.getSupportFragmentManager().findFragmentById(R.id.fCourseDetail);
            courseDetailFragment.setCourseData(courses);
        }
    }
package com.mb.professor.asynctasks;
导入android.app.FragmentTransaction;
导入android.os.AsyncTask;
导入android.support.v4.app.FragmentActivity;
导入com.mb.professor.Course;
导入com.mb.professor.CourseDetail;
导入com.mb.professor.R;
导入java.util.List;
/**
*Gagouche于2013年8月1日创作。
*/
公共类CourseAsyncTask扩展异步任务{
私人碎片活动;
私人课程[]课程=null;
公共课程同步任务(碎片活动)
{
这个。活动=活动;
}
@凌驾
受保护课程[]背景(字符串…参数){
课程[]课程=新课程[5];
课程[0]=新课程(“金融”、“约翰”、“123”);
课程[1]=新课程(“会计学”、“凯恩”、“124”);
课程[2]=新课程(“数据库”、“尤金”、“125”);
课程[3]=新课程(“金融”、“Seikei”、“126”);
课程[4]=新课程(“金融”、“博约克”、“127”);
返回路线;
}
@凌驾
PostExecute上受保护的void(课程[]课程){
super.onPostExecute(课程);
CourseDetail courseDetailFragment=(CourseDetail)mActivity.getSupportFragmentManager().findFragmentById(R.id.fCourseDetail);
courseDetailFragment.setCourseData(课程);
}
}
Adapter教授

    package com.mb.professor.adapter;

    import android.app.Activity;
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.TextView;

    import com.mb.professor.*;

    import java.util.List;

    /**
     * Created by Gagouche on 8/1/13.
     */
    public class ProfessorAdapter extends ArrayAdapter<Professor> {
        private Context context;
        private int layoutResourceId;
        private Professor[] data = null;
        public ProfessorAdapter(Context context, int layoutResourceId, Professor[] data) {
            super(context, layoutResourceId, data);
            this.context = context;
            this.layoutResourceId = layoutResourceId;
            this.data = data;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View row = convertView;
            ProfessorHolder holder = null;
            if(row == null)
            {
                LayoutInflater inflater = ((Activity)context).getLayoutInflater();
                row = inflater.inflate(layoutResourceId,parent, false);
                holder = new ProfessorHolder();
                holder.tvFirstName = (TextView) row.findViewById(R.id.tvFirstName);
                holder.tvLastName = (TextView) row.findViewById(R.id.tvLastName);
                holder.tvCourse = (TextView) row.findViewById(R.id.tvCourseID);
                holder.tvDepartment = (TextView) row.findViewById(R.id.tvDepartment);
                row.setTag(holder);
            } else
            {
                holder = (ProfessorHolder) row.getTag();
            }

            Professor item = data[position];
            holder.tvFirstName.setText(item.getFirstName());
            holder.tvLastName.setText(item.getLastName());
            holder.tvDepartment.setText(item.getDepartmentID());
            holder.tvCourse.setText(item.getCourseId());
            return row;
        }

        static class ProfessorHolder
        {
          TextView tvFirstName;
          TextView tvLastName;
          TextView tvDepartment;
          TextView tvCourse;
        }
    }
package com.mb.professor.adapter;
导入android.app.Activity;
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.TextView;
导入com.mb.professor.*;
导入java.util.List;
/**
*Gagouche于2013年8月1日创作。
*/
公开课教授{
私人语境;
私人内部布局资源;
私人教授[]数据=null;
公共ProfessorAdapter(上下文,内部布局资源,Professor[]数据){
超级(上下文、布局资源ID、数据);
this.context=上下文;
this.layoutResourceId=layoutResourceId;
这个数据=数据;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图行=转换视图;
ProfessorHolder=null;
if(行==null)
{
LayoutInflater充气器=((活动)上下文)。getLayoutInflater();
行=充气机。充气(layoutResourceId,父级,false);
holder=新教授holder();
holder.tvFirstName=(TextView)row.findViewById(R.id.tvFirstName);
holder.tvLastName=(TextView)row.findViewById(R.id.tvLastName);
holder.tvCourse=(TextView)row.findViewById(R.id.tvCourseID);
holder.tvDepartment=(TextView)row.findViewById(R.id.tvDepartment);
row.setTag(支架);
}否则
{
holder=(ProfessorHolder)row.getTag();
}
教授项目=数据[职位];
holder.tvFirstName.setText(item.getFirstName());
holder.tvLastName.setText(item.getLastName());
holder.tvDepartment.setText(item.getDepartmentID());
holder.tvCourse.setText(item.getCourseId());
返回行;
}
固定班教授
{
TextView-tvFirstName;
TextView-tvLastName;
图文电视部;
TextView电视课程;
}
}
课程适配器

    package com.mb.professor.adapter;

    import android.app.Activity;
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.TextView;

    import com.mb.professor.Course;
    import com.mb.professor.R;

    /**
     * Created by Gagouche on 8/1/13.
     */
    public class CourseAdapter extends ArrayAdapter<Course> {
        private Context context;
        private int layoutResourceId;
        private Course[] data = null;
        public CourseAdapter(Context context, int resource, Course[] data) {
            super(context, resource, data);
            this.context = context;
            this.layoutResourceId = resource;
            this.data = data;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View row = convertView;
            CourseHolder holder = null;
            if(row == null)
            {
                LayoutInflater inflater = ((Activity)context).getLayoutInflater();
                row = inflater.inflate(layoutResourceId, parent, false);
                holder = new CourseHolder();
                holder.tvCourseInstructor = (TextView) row.findViewById(R.id.tvCourseInstructor);
                holder.tvCourseId = (TextView) row.findViewById(R.id.tvCourse);
                holder.tvCourseName = (TextView) row.findViewById(R.id.tvCourseName);
                row.setTag(holder);
            } else {
                holder = (CourseHolder) row.getTag();
            }

            Course item = data[position];
            holder.tvCourseId.setText(item.getCourseId());
            holder.tvCourseName.setText(item.getCourseName());
            holder.tvCourseInstructor.setText(item.getInstructorName());
            return row;
        }

        static class CourseHolder
        {
            TextView tvCourseName;
            TextView tvCourseInstructor;
            TextView tvCourseId;
        }
    }
package com.mb.professor.adapter;
导入android.app.Activity;
导入android.content.Context;
导入android.view.LayoutInflater;
进口和
    package com.mb.professor.adapter;

    import android.app.Activity;
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.TextView;

    import com.mb.professor.Course;
    import com.mb.professor.R;

    /**
     * Created by Gagouche on 8/1/13.
     */
    public class CourseAdapter extends ArrayAdapter<Course> {
        private Context context;
        private int layoutResourceId;
        private Course[] data = null;
        public CourseAdapter(Context context, int resource, Course[] data) {
            super(context, resource, data);
            this.context = context;
            this.layoutResourceId = resource;
            this.data = data;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View row = convertView;
            CourseHolder holder = null;
            if(row == null)
            {
                LayoutInflater inflater = ((Activity)context).getLayoutInflater();
                row = inflater.inflate(layoutResourceId, parent, false);
                holder = new CourseHolder();
                holder.tvCourseInstructor = (TextView) row.findViewById(R.id.tvCourseInstructor);
                holder.tvCourseId = (TextView) row.findViewById(R.id.tvCourse);
                holder.tvCourseName = (TextView) row.findViewById(R.id.tvCourseName);
                row.setTag(holder);
            } else {
                holder = (CourseHolder) row.getTag();
            }

            Course item = data[position];
            holder.tvCourseId.setText(item.getCourseId());
            holder.tvCourseName.setText(item.getCourseName());
            holder.tvCourseInstructor.setText(item.getInstructorName());
            return row;
        }

        static class CourseHolder
        {
            TextView tvCourseName;
            TextView tvCourseInstructor;
            TextView tvCourseId;
        }
    }
        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="User Name"
                android:id="@+id/textView"
                android:layout_alignParentTop="true"
                android:layout_marginTop="30dp"
                android:layout_gravity="center_horizontal"
                android:layout_centerHorizontal="true"
                android:textSize="30sp"
                />

        <EditText
                android:layout_width="200sp"
                android:layout_height="wrap_content"
                android:id="@+id/etUserName"
                android:layout_below="@+id/textView"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="10dp"/>

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Password"
                android:id="@+id/textView2"
                android:layout_below="@+id/editText"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="10dp"
                android:textSize="30sp"
                />

        <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="textPassword"
                android:ems="10"
                android:id="@+id/etPassword"
                android:layout_below="@+id/textView2"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="10dp"
                />

        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Login"
                android:id="@+id/btnLogin"
                android:layout_gravity="center_horizontal"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true"/>
    </LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:orientation="horizontal"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent">


        <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:orientation="vertical"
                android:layout_weight="1"
                >
            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Search For Professor"
                    android:id="@+id/textView"
                    android:layout_marginTop="10dp"
                    android:layout_marginLeft="10dp"
                    android:textSize="30sp"
                    />
            <EditText
                    android:layout_width="250dp"
                    android:layout_height="wrap_content"
                    android:hint="search by Department"
                    android:id="@+id/etSearchByDepartment"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="5dp"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Search by Course ID"
                    android:id="@+id/textView2"
                    android:layout_marginTop="10dp"
                    android:layout_marginLeft="10dp"
                    android:textSize="30sp"
                    />

            <EditText
                    android:layout_width="250dp"
                    android:layout_height="wrap_content"
                    android:id="@+id/etSearchByCouseId"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="5dp"
                    />

            <Spinner
                    android:layout_width="321dp"
                    android:layout_height="wrap_content"
                    android:id="@+id/spOption"
                    android:entries="@array/searchOption"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="5dp"

                    />
            <Button
                    android:id="@+id/bSearch"
                    android:text="Search"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_marginTop="10dp"
                    android:layout_marginLeft="5dp"
                    />

        </LinearLayout>

        <LinearLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="2"
                android:orientation="vertical"
                >

            <fragment
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:name="com.mb.professor.ProfessorDetail"
                    android:id="@+id/fprofessorDetail"
                    android:layout_weight="1"
                    android:layout_gravity="center"/>

            <fragment
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="2"
                    android:name="com.mb.professor.CourseDetail"
                    android:id="@+id/fCourseDetail"
                    android:layout_gravity="center"/>


        </LinearLayout>
    </LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:orientation="horizontal"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="First Name"
                android:layout_marginLeft="10dp"
                android:id="@id/tvFirstName"
                android:layout_gravity="center_horizontal|top"/>

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Last Name"
                android:layout_marginLeft="10dp"
                android:id="@id/tvFirstName"
                android:layout_gravity="center_horizontal|top"/>

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="New Text"
                android:layout_marginLeft="10dp"
                android:id="@id/tvDepartment"
                android:layout_gravity="center_horizontal|top"/>

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:text="New Text"
                android:id="@id/tvCourseID"
                android:layout_gravity="center_horizontal|top"/>
    </LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:orientation="vertical"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent">
        <ListView
                android:id="@id/android:list"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left|center_vertical"/>
        <TextView
                android:id="@id/android:empty"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="No Record to be displayed."
                android:textSize="25sp"
                android:layout_gravity="left|center_vertical"/>


    </LinearLayout>
adapter = new ProfessorAdapter(getActivity(), R.layout.professor_row, prof);
adapter.notifyDataSetChanged();
setListAdapter(adapter);
public class MyAsyncTaskFragment extends Fragment {
    private ListView lv;
    private CustomAdapter adapter;
    private ArrayList<...your custom type here...> listItems = new ArrayList<...your custom type here...>(); 

    ...

    @Override
    public void onActivityCreated (Bundle savedInstanceState){ 
        //get the listView
        lv = (ListView) getView().findViewById(R.id.my_listview_name); 

        //create new adapter
        adapter = new CustomAdapter();

        //link adapter to listview
        lv.setAdapter(adapter);

        //in my case I want the async task to start over when the activity is created
        new DoAsyncTask().execute(); 
    }

    private class DoAsyncTask extends AsyncTask<Void, Integer, Integer>{
        protected void onPreExecute() {                                        
            listItems.clear(); 
        }

        protected Integer doInBackground(Void...voids) {
            //add items to the list                
            listItems.add(...your custom type here ...);
            return null;
        }

        protected void onPostExecute(Integer result) {
            if (listItems.size() > 0){ 
                adapter.notifyDataSetChanged(); 
            }
        }

    }    
}