Java 在片段活动中使用列表适配器

Java 在片段活动中使用列表适配器,java,android,android-fragments,Java,Android,Android Fragments,我有一个活动类,它从FragmentActivity扩展而来,因为我在其中使用了DialogFragment 早些时候,该类从ListActivity扩展而来,当DialogFragment的要求到达时,方法setListAdapter变得不可用,则没有问题FragmentActivity 我想知道在从FragmentActivity public class Main extends FragmentActivity{ … … priva

我有一个活动类,它从
FragmentActivity
扩展而来,因为我在其中使用了
DialogFragment

早些时候,该类从
ListActivity
扩展而来,当
DialogFragment
的要求到达时,方法
setListAdapter
变得不可用,则没有问题
FragmentActivity

我想知道在从
FragmentActivity

public class Main extends FragmentActivity{
            …
            …
    private class fetchStudentInfo extends AsyncTask<String, Void, List<mStudentInfo>> {
        @Override
        protected List<mStudentInfo> doInBackground(String... urls) {
            …
        }

        public void onPostExecute(List<mStudentInfo> StudentInfoCollection) {
            setListAdapter(new StudentInfoAdapter((Activity) mainAppContext, StudentInfoCollection));
        }
    }
    }
public类主扩展碎片活动{
…
…
私有类fetchStudentInfo扩展异步任务{
@凌驾
受保护列表doInBackground(字符串…URL){
…
}
PostExecute上的公共void(列出StudentInfo集合){
setListAdapter(新的StudentInfoAdapter((活动)mainAppContext,StudentInfoCollection));
}
}
}

要设置setAdapter,您需要这样的listView引用

public class Main extends FragmentActivity {

  private ListView mListView; 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_layout_id);
    mListView = (ListView)findViewById(R.id.list);
 }

 private class fetchStudentInfo extends AsyncTask<String, Void, List<mStudentInfo>> {
        @Override
        protected List<mStudentInfo> doInBackground(String... urls) {
            …
        }

        public void onPostExecute(List<mStudentInfo> StudentInfoCollection) {
            mListView.setListAdapter(new StudentInfoAdapter((Activity) mainAppContext, StudentInfoCollection));
        }
    }

}
public类主扩展碎片活动{
私有列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.your\u layout\u id);
mListView=(ListView)findViewById(R.id.list);
}
私有类fetchStudentInfo扩展异步任务{
@凌驾
受保护列表doInBackground(字符串…URL){
…
}
PostExecute上的公共void(列出StudentInfo集合){
setListAdapter(新的StudentInfoAdapter((活动)mainAppContext,StudentInfoCollection));
}
}
}

你还需要一个布局文件,里面有一个列表视图,idR.id.list

在列表视图的引用上使用这个方法。我没有理解你,你说的列表视图的引用上的
是什么意思。您能解释一下吗?现在,当您将其更改为FragmentActivity时,您必须在列表视图中加载数据。使用setAdapter()方法将适配器设置为该列表视图。