Navigation Drawer Error Android



Hello i have a one navigation Drawer and when open by swipe ---> run god, but when i touch in action bar this app broken


My xml:



<android.support.v4.widget.DrawerLayout xmlns:android="http://ift.tt/nIICcg"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff" >

<!-- Framelayout to display Fragments -->

<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<!-- Listview to display slider menu -->

<LinearLayout
android:id="@+id/left_drawer_s"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:orientation="vertical" >

<LinearLayout
android:id="@+id/drawers"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="@color/REDAR_COLOR"
android:gravity="center_vertical"
android:orientation="horizontal" >

<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:paddingLeft="20dp"
android:src="@drawable/ic_launcher" />

<LinearLayout
android:id="@+id/drawer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:background="@color/REDAR_COLOR"
android:orientation="vertical" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Shohel Rana"
android:textSize="14sp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="test@gmail.com"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>

<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#fff"/>
</LinearLayout>

</android.support.v4.widget.DrawerLayout>


And my class in java :



private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;

private CharSequence mDrawerTitle;
private CharSequence mTitle;
private String[] nav_options;

private int restaurant_user_id = 0;
int position= 0;

public static drawer_menu drawer_menu_activity;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);


setContentView(R.layout.drawer_menu);

drawer_menu_activity = this;


getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);


nav_options = getResources().getStringArray(R.array.nav_options);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);

// Set the adapter for the list view
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, nav_options);

mDrawerList.setAdapter(adapter);

// Set the list's click listener
mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

position = 1;

selectItem(position,restaurant_user_id);


mDrawerToggle = new ActionBarDrawerToggle(
this, /* host Activity */
mDrawerLayout, /* DrawerLayout object */
R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */
R.string.hello_world, /* "open drawer" description */
R.string.hello_world /* "close drawer" description */
) {

/** Called when a drawer has settled in a completely closed state. */
public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
invalidateOptionsMenu();
}

/** Called when a drawer has settled in a completely open state. */
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
invalidateOptionsMenu();
}
};

}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
mDrawerToggle.syncState();
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig);
}


/* The click listner for ListView in the navigation drawer */
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

selectItem(position,restaurant_user_id);

}
}

private void selectItem(int position, int restaurant_user_id) {


mDrawerLayout.closeDrawers();

Bundle args = new Bundle();
args.putInt("restaurant_user_id", restaurant_user_id);
args.putString("WEB_URL", WEB_URL);

switch (position){
case 0:
Log.v("POSITION" , "ES 0");
position=0;
Fragment main= new main();
main.setArguments(args);
FragmentManager fragmentManager_main = getFragmentManager();
fragmentManager_main.beginTransaction().replace(R.id.content_frame, main).commit();
break;
case 1:
Log.v("POSITION" , "ES 1");
position=1;
Fragment detail = new comments();
detail.setArguments(args);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, detail).commit();
break;
}

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
mDrawerLayout.openDrawer(mDrawerList);
mDrawerLayout.invalidate();
return true;
default: return super.onOptionsItemSelected(item);
}
}


log for console is


11-11 09:42:00.414 10471-10471/mx.clai.redar.redarmanager E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.support.v4.widget.DrawerLayout$LayoutParams at android.support.v4.widget.DrawerLayout.isDrawerView(DrawerLayout.java:968) at android.support.v4.widget.DrawerLayout.openDrawer(DrawerLayout.java:1129) at mx.clai.redar.redarmanager.drawer_menu.onOptionsItemSelected(drawer_menu.java:204) at android.app.Activity.onMenuItemSelected(Activity.java:2610) at com.android.internal.widget.ActionBarView$3.onClick(ActionBarView.java:243) at android.view.View.performClick(View.java:4421) at android.view.View$PerformClick.run(View.java:18190) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:175) at android.app.ActivityThread.main(ActivityThread.java:5279) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) at dalvik.system.NativeStart.main(Native Method)


console market a drawer_menu.java:204 is a:



mDrawerLayout.openDrawer(mDrawerList);


please help , regards!


No comments:

Post a Comment