У меня возникла проблема с моим настраиваемым NavigationDrawer. Действительно, он открывается и закрывается отлично, но он не отображает список ... Поскольку лог-код не указывает на какую-либо ошибку, довольно сложно найти ошибку для меня, поэтому, возможно, другая пара глаз обнаружит это легко!Custom NavigationDrawer
ObjectDrawerItem:
public class ObjectDrawerItem {
public int icon;
public String name;
public ObjectDrawerItem(int icon, String name) {
this.icon = icon;
this.name = name;
}
}
DrawerItemCustomAdapter:
public class DrawerItemCustomAdapter extends ArrayAdapter<ObjectDrawerItem> {
Context mContext;
int mLayoutResourceId;
ObjectDrawerItem mData[] = null;
public DrawerItemCustomAdapter(Context context, int resource, ObjectDrawerItem[] data) {
super(context, resource);
this.mLayoutResourceId = resource;
this.mContext = context;
this.mData = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View listItem = convertView;
ObjectDrawerItem folder = mData[position];
LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
listItem = inflater.inflate(mLayoutResourceId, parent, false);
ImageView imageViewIcon = (ImageView) listItem.findViewById(R.id.imageViewIcon);
TextView textViewName = (TextView) listItem.findViewById(R.id.textViewName);
imageViewIcon.setImageResource(folder.icon);
textViewName.setText(folder.name);
return listItem;
}
}
NavigationDrawerHelper:
public class NavigationDrawerHelper{
private String[] mNavigationDrawerItemTitles;
DrawerLayout mDrawerLayout;
ListView mDrawerListView;
private ActionBarDrawerToggle mDrawerToggle;
public void init(Activity activity, ListView.OnItemClickListener listener) {
mNavigationDrawerItemTitles = activity.getResources().getStringArray(R.array.navigation_drawer_items_array);
mDrawerLayout = (DrawerLayout) activity.findViewById(R.id.drawer_layout);
mDrawerListView = (ListView) activity.findViewById(R.id.left_drawer);
// list the drawer items
ObjectDrawerItem[] drawerItem = new ObjectDrawerItem[3];
drawerItem[0] = new ObjectDrawerItem(R.drawable.ic_action_copy, "Create");
drawerItem[1] = new ObjectDrawerItem(R.drawable.ic_action_refresh, "Read");
drawerItem[2] = new ObjectDrawerItem(R.drawable.ic_action_share, "Help");
DrawerItemCustomAdapter adapter = new DrawerItemCustomAdapter(activity, R.layout.listview_item_row, drawerItem);
mDrawerListView.setAdapter(adapter);
mDrawerListView.setOnItemClickListener(listener);
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
mDrawerListView.setItemChecked(0, true);
setupActionBar(activity);
}
}
И в моей деятельности (реализует ListView.OnItemClickListener) «s OnCreate() я называю Init NavigationDrawerHelper():
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
updateWeather();
mNavigationDrawerHelper = new NavigationDrawerHelper();
mNavigationDrawerHelper.init(this,this);
}
Я сделал эту работу! Спасибо!! – Makoto
Без проблем, рад помочь – MDragon00