Не запускается приложение,не могу понять где ошибка.Метод doInBackground выполняется, инициализирует массив для listView. Помогите, пожалуйста.
public class MainActivity extends ActionBarActivity {
private DrawerLayout myDrawerLayout;
private ListView myDrawerList;
private ActionBarDrawerToggle myDrawerToggle;
// navigation drawer title
private CharSequence myDrawerTitle;
// used to store app title
private CharSequence myTitle;
private String[] viewsNames;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyTask m=new MyTask();
myDrawerList = (ListView) findViewById(R.id.left_drawer);
m.setList(myDrawerList);
m.execute();
myTitle = getTitle();
myDrawerTitle = getResources().getString(R.string.menu);
// load slide menu items
//viewsNames = getResources().getStringArray(R.array.views_array);
myDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
//myDrawerList.setAdapter(new ArrayAdapter<String>(this,
//R.layout.drawer_list_item, viewsNames));
// enabling action bar app icon and behaving it as toggle button
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
myDrawerToggle = new ActionBarDrawerToggle(this, myDrawerLayout,
R.string.open_menu,
R.string.close_menu
) {
public void onDrawerClosed(View view) {
getSupportActionBar().setTitle(myTitle);
// calling onPrepareOptionsMenu() to show action bar icons
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawerView) {
getSupportActionBar().setTitle(myDrawerTitle);
// calling onPrepareOptionsMenu() to hide action bar icons
invalidateOptionsMenu();
}
};
myDrawerLayout.setDrawerListener(myDrawerToggle);
if (savedInstanceState == null) {
// on first time display view for first nav item
displayView(0);
}
myDrawerList.setOnItemClickListener(new DrawerItemClickListener());
}
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(
AdapterView<?> parent, View view, int position, long id
) {
// display view for selected nav drawer item
displayView(position);
}
}
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new FirstFragment();
break;
case 1:
fragment = new SecondFragment();
break;
case 2:
fragment = new ThirdFragment();
break;
default:
break;
}
if (fragment != null) {
android.app.FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content_frame, fragment).commit();
// update selected item and title, then close the drawer
myDrawerList.setItemChecked(position, true);
myDrawerList.setSelection(position);
setTitle(viewsNames[position]);
myDrawerLayout.closeDrawer(myDrawerList);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// toggle nav drawer on selecting action bar app icon/title
if (myDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle action bar actions click
switch (item.getItemId()) {
case R.id.action_settings:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
/**
* Called when invalidateOptionsMenu() is triggered
*/
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// if navigation drawer is opened, hide the action items
boolean drawerOpen = myDrawerLayout.isDrawerOpen(myDrawerList);
menu.findItem(R.id.action_settings).setVisible(!drawerOpen);
return super.onPrepareOptionsMenu(menu);
}
@Override
public void setTitle(CharSequence title) {
myTitle = title;
getSupportActionBar().setTitle(myTitle);
}
/**
* When using the ActionBarDrawerToggle, you must call it during
* onPostCreate() and onConfigurationChanged()...
*/
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
myDrawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Pass any configuration change to the drawer toggls
myDrawerToggle.onConfigurationChanged(newConfig);
}
class MyTask extends AsyncTask<Void, Void, Void> {
private String[] mainMenu;
private ListView list;
@Override
protected Void doInBackground(Void... params) {
ParsingWebSite w=new ParsingWebSite("http://auto-aksrzn.ru/");
List<ElementMenu> m= null;
try {
m = w.getMenuForUL("ty-menu__items cm-responsive-menu","ty-menu__item-link");
} catch (IOException e) {
e.printStackTrace();
}
mainMenu=new String[m.size()];
for(int i=0;i<mainMenu.length;i++)
{
mainMenu[i]=m.get(i).getName();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,
R.layout.drawer_list_item, mainMenu);
adapter.notifyDataSetChanged();
list.setAdapter(adapter);
}
public String[] getMainMenu() {
return mainMenu;
}
public void setMainMenu(String[] mainMenu) {
this.mainMenu = mainMenu;
}
public void setList(ListView list) {
this.list = list;
}
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости