我正在研究Android的导航抽屉.根据我的要求,我要在导航抽屉中显示gridview和项目列表视图.我在布局xml文件中创建了一个linearLayout,并将两个小部件(Grid视图和Listview)放在LinearLayout中.
当我运行该文件时,我收到以下错误:
java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.navigationdrawer3/com.example.navigationdrawer3.MainActivity}:java.lang.ClassCastException:android.widget.FrameLayout $ LayoutParams无法强制转换为android.support.v4. widget.DrawerLayout $的LayoutParams
下面是我的java,logcat和NavigationDrawer布局文件:
MainActivity.java
public class MainActivity extends Activity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;
private CharSequence mDrawerTitle;
//@SuppressWarnings("unused")
private CharSequence mTitle;
private String[] mGalaxyTitles;
private GridView mDrawerGrid;
private LinearLayout mDrawerLinear;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTitle = mDrawerTitle = getTitle();
mGalaxyTitles = getResources().getStringArray(R.array.items_array);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
mDrawerGrid = (GridView)findViewById(R.id.gridview);
mDrawerLinear =(LinearLayout)findViewById(R.id.linearLayout);
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
mDrawerGrid.setAdapter(new ImageAdapter(MainActivity.this));
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, mGalaxyTitles));
mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); …Run Code Online (Sandbox Code Playgroud) android android-layout navigation-drawer drawerlayout android-framelayout
我NavigationDrawer在我的Android应用程序中使用,我已经制作了自己的自定义布局XML文件和他们的适配器但是当我运行我的程序然后我的应用程序崩溃与下面的日志,我无法追踪它为什么如此,任何建议?
activity_main.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">
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ListView
android:id="@+id/list_slider_menu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:choiceMode="singleChoice" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
public class MainActivity extends ActionBarActivity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mActionBarDrawerToggle;
// NavDrawer title
private CharSequence mDrawerTitle;
// App title
private CharSequence mTitle;
// slide menu items
private String[] navMenuTitles;
private TypedArray navMenuIcons;
private ArrayList<NavDrawerItem> navDrawerItems;
private NavDrawerListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTitle = mDrawerTitle = getTitle();
navMenuTitles = …Run Code Online (Sandbox Code Playgroud)