我在互联网上找到了很多关于如何为Android Studio实现导航抽屉的教程。
但是,假设我想为任何活动创建一个导航抽屉但是有不同的项目,是否可以创建某种基本活动,所以我只需要编写NavDrawerItems和DrawerItemClickListener ......
可以实现这个BaseActivity还是太过分了?我在Google上搜索了很多这方面的内容,但没有找到任何关于我得到的这个特殊问题的教程:(我找到的大部分基础活动教程都是带有相同项目的导航抽屉。
修改
我现在的代码,但在我看来,阅读时间有点长:
我使用的教程是:
https://trinitytuts.com/android-navigation-drawer-with-material-design-arrow/ http://thedeveloperworldisyours.com/android/put-image-navigation-drawer/
X = [a1,a2,a3,b1,b2,b3,c1,b2,b3]
}
答案 0 :(得分:0)
在我看来,这是可能的。您可以在准备列表数据时进行设置,如下面的示例
private static void prepareListData(final Context context) {
final Activity activity = ((Activity) context);
String activity_name = context.getClass().getSimpleName().replace("Activity", "");
sListDataHeader = new ArrayList<>();
sListDataChild = new HashMap<>();
// adding header data, except current activity
String[] mItemHeaders = activity.getResources().getStringArray(R.array.items_array_expandable_header);
// here...
for (String item : mItemHeaders) {
if (!item.toLowerCase().equals(activity_name.toLowerCase())) {
sListDataHeader.add(item);
}
}
String[] mItemMainChild = activity.getResources().getStringArray(R.array.items_array_expandable_main_child);
// Child data
List<String> listChild = Arrays.asList(mItemMainChild);
// Header, Child data
for (int i = 0; i < sListDataHeader.size() - 2; i++) {
sListDataChild.put(sListDataHeader.get(i), new ArrayList<String>());
}
sListDataChild.put(sListDataHeader.get(sListDataHeader.size() - 1), listChild);
}
希望这有帮助!