在片段中使用列表适配器 Activity
Using List Adapter in a Fragment Activity
我有一个从 FragmentActivity
延伸的 activity class,因为我在其中使用 DialogFragment
。
早些时候这个 class 是从 ListActivity
扩展的,当 DialogFragment
的要求到达方法 [=17] 时没有问题 but when I extended it from FragmentActivity
=] 变得不可用。
我想知道如何在从 FragmentActivity
扩展我的 class 时使用方法 setListAdapter
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));
}
}
}
要设置 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));
}
}
}
而且你还需要带有 listview 的布局文件,其中的 id R.id.list.
我有一个从 FragmentActivity
延伸的 activity class,因为我在其中使用 DialogFragment
。
早些时候这个 class 是从 ListActivity
扩展的,当 DialogFragment
的要求到达方法 [=17] 时没有问题 but when I extended it from FragmentActivity
=] 变得不可用。
我想知道如何在从 FragmentActivity
setListAdapter
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));
}
}
}
要设置 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));
}
}
}
而且你还需要带有 listview 的布局文件,其中的 id R.id.list.