在导航抽屉中,当我按下按钮或其他任何东西时,抽屉关闭。问题是什么? 我在互联网上搜索,但我找不到与我的代码不同的东西。也许有一些错误,但我还没有找到它们。
代码:
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>
在main.java相关代码中:
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;
}
}
答案 0 :(得分:5)
我曾经遇到过同样的问题。
我有一个RecyclerView NavigationDrawer,只需将导航代码移动到xml文件的底部,我的问题就解决了。
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/DrawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:elevation="7dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
//some code here for the body of your activity
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/RecyclerView"
android:layout_width="350dp"
android:layout_height="match_parent"
android:layout_gravity="right"
android:background="#ffffff"
android:scrollbars="vertical">
</android.support.v7.widget.RecyclerView>
希望它也适合你......
答案 1 :(得分:0)
有关详细说明,
<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>
将是您的内容,其他内容实际上将是您的NavigationDrawer
。
请查看其工作原理:
http://developer.android.com/training/implementing-navigation/nav-drawer.html
其中说:
以下布局使用
DrawerLayout
two child views
:aFrameLayout
包含主要内容 (由片段填充) 运行时),和导航抽屉的ListView 。
使用来自新NavigationDrawer
的<{1}}。