我想在啓動應用程序時更改導航抽屜listview內容。我嘗試使用onStart()方法執行的AsyncTask來完成此操作,但顯示的導航抽屜列表始終爲空。這是我的代碼:更改導航抽屜清單onstart
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new UpdateTask().execute();
setContentView(R.layout.activity_main);
mTitle = mDrawerTitle = getTitle();
navMenuTitles = getResources().getStringArray(R.array.menu_array);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
// set a custom shadow that overlays the main content when the drawer opens
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
// set up the drawer's list view with items and click listener
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, partite));
mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
在onPostExecute方法我填的是適配器(List<String> partite = new ArrayList<String>();
)以這樣的方式
@Override
protected void onPostExecute(String result) {
partite.add(partita1.toUpperCase());
partite.add(partita2.toUpperCase());
partite.add(partita3.toUpperCase());
partite.add(partita4.toUpperCase());
partite.add(partita5.toUpperCase());
partite.add(partita6.toUpperCase());
partite.add(partita7.toUpperCase());
partite.add(partita8.toUpperCase());
partite.add(partita9.toUpperCase());
partite.add(partita10.toUpperCase());
progressD.dismiss();
}
抽屜式導航欄顯示這個項目只有在onCreate()方法我手動添加一個字符串像:
partite.add("hello");
然後,導航抽屜會有這個項目和其他人添加在異形分析。 我該如何解決這個問題?
您是否在適配器上調用'notifyDataSetChanged()'?你確定'onPostExecute()'正在執行嗎? – 2014-09-20 11:29:46