in navigation drawer, when i push a button or anything else, drawer gets closed. What is the problem? I search on internet but I didn't find anything that is different than my codes. Maybe there are some mistakes but I have not found them.
codes:
index.xml
<?xml version="1.0" encoding="utf-8"?>
<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"
android:background="#bbb9b9b9">
<ListView
android:id="@+id/listViewDrawer"
android:layout_width="240dp"
android:layout_gravity="start"
android:layout_height="match_parent"
android:background="#fff"
android:padding="3dp"
android:choiceMode="singleChoice"
android:dividerHeight="1dp"
android:divider="@android:color/transparent">
</ListView>
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="10">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:weightSum="10">
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/btnMalt"
android:layout_weight="1.5"
android:src="@drawable/mal" />
<EditText
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/legerin_ett"
android:layout_weight="5.5"
android:hint="@string/legerin_text" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/btnLegerint"
android:layout_weight="1.5"
android:src="@drawable/legerin" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/btnDerkevet"
android:layout_weight="1.5"
android:src="@drawable/derkeve" />
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/sernavt"
android:gravity="center"
android:text="sepana tirşikê ji bo telefonên jîr"
android:textStyle="bold"
android:textColor="#ff000000"
android:textSize="20dp"
android:layout_marginTop="3dp"
android:layout_marginBottom="3dp" />
<ListView
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/listViewt"
android:layout_gravity="center_horizontal"
android:layout_weight="9"
android:layout_marginBottom="5dp" />
<Button
android:layout_width="fill_parent"
android:layout_height="0dp"
android:text="@string/peyameke_binivise"
android:id="@+id/buttonPeyamBinivise"
android:layout_gravity="center_horizontal"
android:layout_weight="1" />
</LinearLayout >
</android.support.v4.widget.DrawerLayout>
in main.java related codes:
NuceMijarAdapter adapter1 = new NuceMijarAdapter(Index.this,R.layout.list_mijar_layout,arr);
lvDrawer.setAdapter(adapter1);
private class NuceMijarAdapter extends ArrayAdapter<String> {
private ArrayList<String> items;
public NuceMijarAdapter(Context context, int textViewResourceId, ArrayList<String> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_mijar_layout, null);
}
final String o = items.get(position);
if (o != null) {
String htmlText = o.replace("<a href=\"index.php?","<a href=\"http://www.tirsik.net/index.php?")
.replace("padding-left:8px","padding-left:1px")
.replace(" » ","");
final NuceMijarIro nuce = mijarIroAction(htmlText);
Button tvMijar = (Button) v.findViewById(R.id.tvMijar);
Button tvHejmar = (Button) v.findViewById(R.id.tvHejmar);
tvMijar.setText(nuce.mijar);
tvHejmar.setText(nuce.hejmar);
tvMijar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d("url: ", nuce.link);
if(nuce.link.contains("index.php?mijar")) {
urlIndex = nuce.link;
if(teketin) mijarRasthatiTeketi("bnr");
else mijarRasthati("bnr");
}
}
});
}
return v;
}
}
I had the same problem once.
I had a RecyclerView NavigationDrawer and by just moving the Navigation code to the bottom of the xml file my problem got solved.
hope it works for you too...
For more explanation,
Is going to be your Content and other contents gonna be your
NavigationDrawer
actually.Please see how it works:
http://developer.android.com/training/implementing-navigation/nav-drawer.html
Which said:
And use
NavigationDrawer
which that comes from with newSupportLibrary
.