0
我在我的应用程序中完成了Navigation Drawer
,并且工作正常。但我试图在上面放置另一个Listview
,但我无法在屏幕上显示新的显示。我已将Navigation Drawer
列入BaseActivity
类。什么可能是错误?这是我的代码:Android:2浏览器中的浏览器
XML
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
...
</LinearLayout>
<LinearLayout android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:orientation="vertical">
<ListView
android:id="@+id/listview_drawer"
style="@style/scrollbar"
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/grisTransparente"
android:choiceMode="singleChoice"
android:divider="@color/negro"
android:dividerHeight="1dp" />
<ListView
android:id="@+id/listview_drawer2"
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@color/negro"
android:dividerHeight="1dp"
android:background="@color/grisTransparente"
style="@style/scrollbar"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
BASEACTIVITY
private void cargarDrawerLayout(Bundle b) {
mTitle = mDrawerTitle = getTitle();
textosMenuLateral = getResources().getStringArray(R.array.titulos_drawer);
textosMenuLateral2 = getResources().getStringArray(R.array.titulos_drawer2);
iconosMenuLateral = getResources()
.obtainTypedArray(R.array.iconos_drawer);
iconosMenuLateral2 = getResources()
.obtainTypedArray(R.array.iconos_drawer2);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.listview_drawer);
mDrawerList2 = (ListView) findViewById(R.id.listview_drawer2);
View header = getLayoutInflater().inflate(R.layout.drawer_header, null);
mDrawerList.addHeaderView(header);
mDrawerList2.addHeaderView(header);
int[] colores = {0, 0xFFFFFFFF, 0};
mDrawerList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colores));
mDrawerList.setDividerHeight(4);
mDrawerList2.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colores));
mDrawerList2.setDividerHeight(4);
navDrawerItems = new ArrayList<DrawerItem>();
navDrawerItems2 = new ArrayList<DrawerItem>();
navDrawerItems.add(new DrawerItem(textosMenuLateral[0], iconosMenuLateral.getResourceId(0, -1)));
navDrawerItems.add(new DrawerItem(textosMenuLateral[1], iconosMenuLateral.getResourceId(1, -1)));
navDrawerItems.add(new DrawerItem(textosMenuLateral[2], iconosMenuLateral.getResourceId(2, -1)));
navDrawerItems2.add(new DrawerItem(textosMenuLateral2[0], iconosMenuLateral2.getResourceId(0, -1)));
iconosMenuLateral.recycle();
iconosMenuLateral2.recycle();
mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
mDrawerList2.setOnItemClickListener(new SlideMenuClickListener2());
adapter = new DrawerListAdapter(getApplicationContext(),
navDrawerItems,
perfilObj.getColor(),
pos);
mDrawerList.setAdapter(adapter);
adapter2 = new DrawerListAdapter(getApplicationContext(),
navDrawerItems2,
perfilObj.getColor(),
pos2);
mDrawerList2.setAdapter(adapter2);
mDrawerToggle = new ActionBarDrawerToggle(
this,
mDrawerLayout,
R.drawable.icono_drawer,
R.string.app_name,
R.string.app_name
) {
public void onDrawerClosed(View view) {
getActionBar().setTitle(mTitle);
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(mDrawerTitle);
invalidateOptionsMenu();
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
}
private class SlideMenuClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
TextView textView = (TextView) view.findViewById(R.id.title);
textView.setTypeface(null, Typeface.BOLD);
opcionesPanelLateral(position);
}
}
private class SlideMenuClickListener2 implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
TextView textView = (TextView) view.findViewById(R.id.title);
textView.setTypeface(null, Typeface.BOLD);
opcionesPanelLateral2(position);
}
}
private void opcionesPanelLateral(int position) {
Intent i;
switch (position - 1) {
case 0:
case 1:
case 2:
case 3:
break;
default:
break;
}
mDrawerList.setItemChecked(pos, true);
mDrawerList.setSelection(pos);
setTitle(textosMenuLateral[pos]);
mDrawerLayout.closeDrawer(mDrawerList);
}
private void opcionesPanelLateral2(int position) {
Intent i;
switch (position) {
case 0:
break;
default:
break;
}
mDrawerList2.setItemChecked(pos, true);
mDrawerList2.setSelection(pos);
mDrawerLayout.closeDrawer(mDrawerList2);
}
为什么你想在第一个地方有2个listviews?难道你不能自己定制一个适合你需要的内容吗? –
我想你想要在一个布局和抽屉里显示两个列表视图 –
,因为我认为这是获取标题的最简单的方法 – Charlie