我正試圖用一些自定義佈局填充導航抽屜。該佈局XML文件如下:導航抽屜中的自定義列表視圖
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar">
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true">
</FrameLayout>
<!-- The navigation drawer -->
<LinearLayout
android:orientation="vertical"
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#FFFFFF">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="40px"
android:layout_marginTop="40px">
<ImageView
android:id="@+id/imgUser"
android:src="@drawable/empty_profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20px"
android:layout_marginTop="20px">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:text="Waqas Ahmed Ansari"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="63km"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Joined: Feb '16"/>
</LinearLayout>
</LinearLayout>
<ListView
android:id="@+id/lstDrawerItems"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"
android:layout_marginTop="20sp" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
然後我做了一個CustomAdapter類ListView lstDrawerItems
這。
public class CustomAdapter extends BaseAdapter {
public ArrayList<HashMap<String, String>> list;
Activity activity;
TextView txtFirst;
ImageView imgView;
public CustomAdapter(Activity activity, ArrayList<HashMap<String, String>> list) {
super();
this.activity=activity;
this.list=list;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater=activity.getLayoutInflater();
if(convertView == null){
convertView = inflater.inflate(R.layout.custom_drawer_list, null);
txtFirst = (TextView) convertView.findViewById(R.id.drawer_itemName);
imgView = (ImageView) convertView.findViewById((R.id.drawer_icon));
}
HashMap<String, String> map=list.get(position);
txtFirst.setText(map.get("name"));
imgView.setImageResource(Integer.parseInt(map.get("imgDrawerIcon")));
return convertView;
}
@Override
public int getCount() {
return 0;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
}
當我設置列表適配器,我無法看到任何東西。 我在這裏設置自定義適配器。 CustomAdapter adapter = new CustomAdapter(HomeNoVehicle.this, list); ListView drawerList = (ListView) findViewById(R.id.lstDrawerItems); drawerList.setAdapter(adapter);
但是,當我設置項屬性,如果列表,它工作得很好。 找不出問題所在。
你嘗試過什麼樣的方法(和失敗的)那麼遠?此外,你只是試圖在每個項目中使用圖片和文本進行列表視圖? –
我製作了CustomAdapter類,充氣自定義列表視圖。以不同的方式試用這種方法。是的,我試圖使用圖片和文本進行列表視圖,但是具有自定義視圖的導航抽屜 –
嘗試在BaseAdapter中實現'getCount()',適配器使用它來了解您的數據的大小,如果您離開它設置爲0它永遠不會打印您的列表。您可以使用我的代碼以獲取有關如何以基本方式實現基礎適配器的所有功能的參考。 –